«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Laravel WhereIn и GroupBy: как устранить ошибку 1055 MySQL?

Laravel WhereIn и GroupBy: как устранить ошибку 1055 MySQL?

Опубликовано 21 декабря 2024 г.
Просматривать:955

Laravel WhereIn and GroupBy: How to Resolve MySQL's 1055 Error?

Laravel: синтаксическая ошибка или нарушение прав доступа: ошибка 1055 при использовании WhereIn и GroupBy

Для получения данных конкретной строки Laravel позволяет нам используйте WhereIn и GroupBy в одном запросе. Однако иногда это может привести к «Синтаксической ошибке или нарушению прав доступа: ошибка 1055».

Причины ошибки

Эта ошибка возникает, когда:

  • В настройках MySQL включен строгий режим.
  • Поле id, которое используется в условии WhereIn, не включен в список полей GroupBy.

Решения

Отключить строгий режим

Вы можете отключить MySQL строгий режим, установив 'strict' => false в массиве 'mysql' файла config/database.php. file.

'mysql' => [
    ...
    'strict'   => false,
    ...
],

Добавить режимы в параметры MySQL

В качестве альтернативы вы можете оставить строгий режим включенным и добавить определенные режимы в опцию 'modes' массива 'mysql':

'mysql' => [
    ...
    'strict' => true,
    'modes' => ['STRICT_TRANS_TABLES'],
    ...
],

Включите поле GroupBy в WhereIn

Убедитесь, что поле id, используемое в условии WhereIn, также включено в список полей GroupBy. Это предотвратит возникновение ошибки.

$loadids = explode("#@*", $reciptdet->loading_id);
$loadingdatas = DB::table('loading')
    ->groupBy(['vehicle_no', 'id'])
    ->whereIn('id', $loadids)
    ->get();

Реализуя эти решения, вы можете устранить «Синтаксическую ошибку или нарушение прав доступа: ошибка 1055» при использовании WhereIn и GroupBy в одном запросе.

Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3