ホームページ >バックエンド開発 >PHPチュートリアル >Laravel WhereIn と GroupBy: 「構文エラーまたはアクセス違反: 1055」を修正する方法?

Laravel WhereIn と GroupBy: 「構文エラーまたはアクセス違反: 1055」を修正する方法?

DDD
DDDオリジナル
2024-12-20 11:00:11292ブラウズ

Laravel WhereIn and GroupBy: How to Fix

Laravel: WhereIn と GroupBy を使用する際の「構文エラーまたはアクセス違反: 1055 エラー」の解決

Laravel では、WhereIn と GroupBy を組み合わせようとすると、一般的な問題が発生します。単一のクエリで GroupBy メソッドを使用すると、恐ろしい「構文エラーまたはアクセス違反: 1055」が発生する

このエラーに対処するには、次のオプションを検討してください。

厳密モードを無効にする

config/database.php ファイルで、MySQL 接続構成配列を見つけます。次の行を追加します:

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

strict を false に設定すると、すべての strict オプションが無効になり、エラーが発生することなくクエリを実行できるようになります。

Enable Specific Strict Modes

または、一般的な厳密モードを有効にしたまま、特定の厳密モードを選択的に有効にすることもできます。次の行を追加します:

'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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。