Выполняю запрос в консоли MySQL в PhpStorm и все работает:
SELECT * FROM users_infos AS ui
LEFT JOIN users AS u ON (ui.user_id = u.id)
LEFT JOIN role_user AS ru ON (ru.user_id = u.id)
LEFT JOIN (SELECT * FROM cases GROUP BY `user_id` ORDER BY `order`) AS c ON (c.user_id = ui.user_id)
WHERE ru.role_id = 3
LIMIT 100
Тот же самый запрос выполняю в Larvel 5.3 и выдает ошибку:
SQLSTATE[42000]: Syntax error or access violation: 1055 'cutehub.cases.case_id' isn't in GROUP BY (SQL: SELECT * FROM users_infos AS ui
LEFT JOIN users AS u ON (ui.user_id = u.id)
LEFT JOIN role_user AS ru ON (ru.user_id = u.id)
LEFT JOIN (SELECT * FROM cases GROUP BY `user_id` ORDER BY `order`) AS c ON (c.user_id = ui.user_id)
WHERE ru.role_id = 3
LIMIT 100)
Это реакция на подзапрос
SELECT * FROM cases GROUP BY `user_id` ORDER BY `order`
Вероятно, для соединения устанавливается сессионная ONLY_FULL_GROUP_BY SQL mode.
Возможные решения:
Рекомендую последнее.
PS. ORDER BY в подзапросе не имеет смысла. Можно убрать.
PPS. Видимое использование результатов подзапроса - только для связывания. Если так, то достаточно подзапроса
SELECT DISTINCT user_id FROM cases
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости