Laravel 7: синтаксическая ошибка или нарушение прав доступа: 1055 - PullRequest
0 голосов
/ 29 апреля 2020

Я использую Laravel 7 с PHP 7.2.5.

Я делаю следующий запрос,

SELECT *, SUM(tr.rating) AS total_ratings
FROM `table_1` AS t
LEFT JOIN table_2 AS tr ON t.id = tr.resource_id
WHERE (t.`name` LIKE '%abc%' OR t.`email` LIKE '%abc%')
GROUP BY t.id
ORDER BY SUM(tr.rating) desc
LIMIT 10

В Laravel,

$getData = $this->table
                ->select(DB::raw("table1.*, SUM(tr.rating) AS total_ratings"))
                ->leftJoin('table2 AS tr', "table1.id", '=', 'tr.resource_id')
                ->where(function ($qry) use ($query) {
                    $qry->where("name", "LIKE", "%abc%")
                        ->orWhere("email", "LIKE", "%abc%")
                })
                ->groupBy("table1.id")
                ->orderBy(DB::raw('SUM(tr.rating)'), 'desc')
                ->limit($limit)
                ->get();

Но выдает ошибку ниже,

SQLSTATE [42000]: синтаксическая ошибка или нарушение прав доступа: 1055 'table1.name' отсутствует в GROUP BY ..

Примечание: table1.name является одним из полей таблицы.

Я попытался отключить режим strict в конфигурации / базе данных. php в mysql

'strict' => false

Но ошибка все еще не устранена! Кто-нибудь знает, почему это происходит?

Спасибо, все ответы будут оценены.

...