Mysql
 sql >> Base de données >  >> RDS >> Mysql

A.* n'est pas dans GROUP BY avec une jointure gauche sur le constructeur de requêtes laravel

Pour résoudre ce problème, vous devez spécifier les colonnes requises dans la liste de sélection et la clause group by

$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();

12.19.3 Gestion MySQL de GROUP BY

Selon la documentation