Laravel проблема при выполнении запроса с суммой и подсчетом - PullRequest
0 голосов
/ 13 июля 2020

привет, я пытался получить данные, а также сумму и количество двух столбцов, это тот запрос, который я использую

   $acept['acept']= DB::table('detail_proposal')
                ->join('proposal','proposal.pro_id','=','detail_proposal.pro_id')
                ->join('home','home.home_id','=','detail_proposal.home_id')
                ->select('home.home_nom','home.home_img',home.home_price,'proposal.pro_id','proposal.int_date')
                ->where('users.usu_id','=',$id)
                ->where('proposal.estate_id','=',2)
                ->selectRaw('count(proposal.pro_id) as Total','SUM(home_price)')
                ->get();

Ошибка:

SQLSTATE[42803]: Grouping error: 7 ERROR:  column "home.home_nom" must appear in the GROUP BY clause or be used in an aggregate function
LINE 1: SELECT.....

Я знаю есть проблема с моим запросом, как мне изменить его, чтобы получить данные, которые я хочу получить?

1 Ответ

0 голосов
/ 14 июля 2020

Необходимо добавить groupBy, если вы хотите использовать агрегатную функцию в предложении select

 $acept['acept']= DB::table('detail_proposal')
                ->join('proposal','proposal.pro_id','=','detail_proposal.pro_id')
                ->join('home','home.home_id','=','detail_proposal.home_id')
                ->select('home.home_nom','home.home_img',home.home_price,'proposal.pro_id','proposal.int_date')
                ->where('users.usu_id','=',$id)
                ->where('proposal.estate_id','=',2)
                ->selectRaw('count(proposal.pro_id) as Total','SUM(home_price)')
                ->groupBy('home.home_nom')
                ->groupBy('home.home_img')
                ->groupBy('proposal.int_date')
                ->get();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...