Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

A.* não está em GROUP BY com left join no construtor de consultas laravel


Para corrigir esse problema, você precisa especificar as colunas necessárias na lista de seleção e agrupar por cláusula
$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 Tratamento MySQL de GROUP BY

Conforme documentos