почему при такой выборке
$managers = DB::table('managers')
->leftJoin('users', 'users.id', 'managers.manager_id')
->leftJoin('user_attributs', 'user_attributs.user_id', 'managers.manager_id')
->leftJoin('manager_accounts', 'manager_accounts.manager_id', 'managers.manager_id')
->select('user_attributs.avatar','user_attributs.fullname', 'users.id',DB::raw('count(manager_accounts.id) as count_m'))
->where('managers.user_id', Auth::user()->id)
->groupBy('user_attributs.fullname')
->get();
выдает такую ошибку
QLSTATE[42000]: Syntax error or access violation: 1055 Expression #1
of SELECT list is not in GROUP BY clause and contains nonaggregated
column 'extremje_insta.user_attributs.avatar' which is not
functionally dependent on columns in GROUP BY clause; this is
incompatible with sql_mode=only_full_group_by (SQL: select
user_attributs.avatar, user_attributs.fullname, users.id,
count(manager_accounts.id) as count_m from managers left join
users on users.id = managers.manager_id left join
user_attributs on user_attributs.user_id =
managers.manager_id left join manager_accounts on
manager_accounts.manager_id = managers.manager_id where
managers.user_id = 6 group by user_attributs.fullname)
У Вас ошибка sql_mode=only_full_group_by . Т.е вы делаете группировку, но не используете агрегирование либо группировку на все поля, которые выводите.
Есть несколько решений:
1) Отключить only_full_group_by. Вот есть ответы: https://stackoverflow.com/questions/23921117/disable-only-full-group-by .
2) Сделать группировку по всем полям, которые вы select . Т.е. как то так:
$managers = DB::table('managers')
->leftJoin('users', 'users.id', 'managers.manager_id')
->leftJoin('user_attributs', 'user_attributs.user_id', 'managers.manager_id')
->leftJoin('manager_accounts', 'manager_accounts.manager_id', 'managers.manager_id')
->select('user_attributs.avatar','user_attributs.fullname', 'users.id',DB::raw('count(manager_accounts.id) as count_m'))
->where('managers.user_id', Auth::user()->id)
->groupBy('user_attributs.fullname')
->groupBy('user_attributs.avatar')
->groupBy('user_attributs.fullname')
->groupBy('users.id')
->get();