Laravel では、WhereIn と GroupBy を組み合わせようとすると、一般的な問題が発生します。単一のクエリで GroupBy メソッドを使用すると、恐ろしい「構文エラーまたはアクセス違反: 1055」が発生する
このエラーに対処するには、次のオプションを検討してください。
config/database.php ファイルで、MySQL 接続構成配列を見つけます。次の行を追加します:
'mysql' => [ ... 'strict' => false, ... ]
strict を false に設定すると、すべての strict オプションが無効になり、エラーが発生することなくクエリを実行できるようになります。
または、一般的な厳密モードを有効にしたまま、特定の厳密モードを選択的に有効にすることもできます。次の行を追加します:
'mysql' => [ ... 'strict' => true, 'modes' => [ // 'ONLY_FULL_GROUP_BY', // Disable this to allow grouping by one column 'STRICT_TRANS_TABLES', 'NO_ZERO_IN_DATE', 'NO_ZERO_DATE', 'ERROR_FOR_DIVISION_BY_ZERO', 'NO_AUTO_CREATE_USER', 'NO_ENGINE_SUBSTITUTION' ], ... ]
この場合、ONLY_FULL_GROUP_BY モードが無効になり、他の厳格なモードがアクティブなまま、単一の列によるグループ化が可能になります。
これらのソリューションを実装すると、 「構文エラーまたはアクセス違反: 1055」エラーを解決し、WhereIn と GroupBy を組み合わせたクエリを正常に実行できます。
以上がLaravel WhereIn と GroupBy: 「構文エラーまたはアクセス違反: 1055」を修正する方法?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。