#php #laravel
Вопрос:
Я сталкиваюсь с этой ошибкой в течение последних 2-3 дней. Я держу эту задачу, чтобы проверить это позже в свободное время. Но все равно я получаю ту же ошибку. Пожалуйста, помогите мне найти ошибку. Я устал проверять все решения в Google. Но ничего не работает.
Ошибка
ОсветитьБаза данныхИсключение запроса: SQLSTATE[42000]: Синтаксическая ошибка или нарушение доступа: 1055 ‘dating-app.messages.id’ не входит в ГРУППУ ПО (SQL: выберите * из
messages
группы поroom_id
наличиюis_read
= 0) в файле C:xampphtdocsdating-appvendorlaravelframeworksrcIlluminateDatabaseConnection.php на линии 692
Вот мой вопрос
$messages = Message::groupBy('room_id')->having('is_read', 0)->get();
return response()->json(['status' => true, 'message' => $messages]);`
Любое решение приветствуется!
Ответ №1:
Это связано с тем, что любой столбец, используемый в инструкции select, должен отображаться в предложении group by. Так select *
что и group by
не ладите. Устранитесь groupBy('room_id')
в своих отношениях и посмотрите, как это пойдет.
В качестве альтернативы отключите строгий режим MySQL, войдя в config/database.php и настройка strict => false
для MySQL, если вы используете MySQL версии >5.7.