ホームページ >バックエンド開発 >PHPチュートリアル >Laravel Eloquentで互換性のないSQL_MODEによるSQLエラーを修正する方法?
Laravel Eloquent でグループ化を伴うクエリを実行すると、次のようなエラーが発生する場合があります:
SQLSTATE[42000]: Expression #1 of SELECT list is not in GROUP BY clause ... incompatible with sql_mode=only_full_group_by
このエラーは通常、クエリで使用されている列が GROUP BY 句に含まれていない場合に発生します。
解決策:
この問題を解決するには、次の手順を実行します。推奨されるアプローチは、データベース接続設定で MySQL 厳密モードを無効にすることです。これは、データベース構成ファイル (config/database.php など) に次の行を追加することで実現できます。
<code class="php">'connections' => [ 'mysql' => [ // MySQL 5.6 behavior 'strict' => false, // MySQL 5.7 behavior 'strict' => true ] ],</code>
さらに、Matt Stauffer のブログ投稿で提供されている他の構成設定を調べて、特定のデータベース環境に最適な設定。 MySQL 厳密モードを無効にすることで、GROUP BY 句で非集計カラムを使用できるようになり、エラーが解決されます。
以上がLaravel Eloquentで互換性のないSQL_MODEによるSQLエラーを修正する方法?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。