Я хочу преобразовать следующий SQL в Laravel.
SELECT COUNT('uc.*') AS count_down, bs.brand_name
FROM `user_activities` AS uc
JOIN brands AS bs ON uc.brand_id = bs.id
GROUP BY uc.brand_id
ORDER BY count_down DESC
LIMIT 5
Но при этом:
$top_donwload_list = DB::table('user_activities')
->leftJoin('brands', 'brands.id', '=', 'user_activities.brand_id')
->selectRaw('brands.*, brands.brand_name, brands.id, count(user_activities.action_type) as user_activitiesCount')
->groupBy('user_activities.brand_id')
->get();
Я получаю эту ошибку:
SQLSTATE [42000]: синтаксическая ошибка или нарушение прав доступа: 1055 'colorworld.brands.id' отсутствует в GROUP BY (SQL: выбрать бренды. *, Brands.brand_name, brands.id, считать (user_activities.action_type) как user_activitiesCount fromuser_activities
левое соединение brands
на brands
. id
= user_activities
. brand_id
группирование по user_activities
. brand_id
)
Я пытался установить 'strict' => true
, в database.php
, но я получаю ту же ошибку в Laravel 5.7.
Обновление: - таблица базы данных
![User activities](https://i.stack.imgur.com/qmJJg.png)