Mysql
 sql >> Database >  >> RDS >> Mysql

A.* non è in GROUP BY con il join sinistro sul generatore di query laravel

Per risolvere questo problema è necessario specificare le colonne richieste nell'elenco di selezione e raggruppare per clausola

$search_alls=DB::table('a16s as A')
                ->select('A.id','A.name')
                ->addSelect(DB::raw('SUM(CASE WHEN B.approve = 1 ELSE 0 END) as Yshow'))
                ->leftjoin('a16s_likes as B', function($join) {
                    $join->on('A.id', '=', 'B.p_id');
                })
                ->groupBy('A.id')
                ->groupBy('A.name');
    ->get();

19.12.3 Gestione MySQL di GROUP BY

Come da documenti