ホームページ  >  記事  >  データベース  >  Laravel Eloquentの「sql_mode=only_full_group_byと互換性がありません」エラーを修正する方法?

Laravel Eloquentの「sql_mode=only_full_group_byと互換性がありません」エラーを修正する方法?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-11-23 12:10:19292ブラウズ

How to Fix the

Laravel Eloquent の sql_mode=only_full_group_by との互換性のないエラーを解決する

Laravel Eloquent クエリでは、クエリに含まれるものGROUP BY 句の列に機能的に依存しない、SELECT リスト内の非集計列。この問題を解決するには、データベース接続設定で MySQL 厳密モードを無効にすることができます。

提供されているコード例では、クエリは store_id でグループ化され、updated_at で順序付けされていますが、id 列も選択リスト。 id は機能的にstore_id に依存していないため、集計せずに SELECT リストに含めることはできません。

エラーを解決するには、config/database のデータベース接続設定に次の構成を追加して、MySQL 厳密モードを無効にします。 .php ファイル:

'connections' => [
    'mysql' => [
        // Behave like MySQL 5.6
        'strict' => false,

        // Behave like MySQL 5.7
        'strict' => true,
    ]
]

厳密モードを無効にすると、機能しない場合でも非集計列を SELECT リストに含めることができます。 GROUP BY 句の列に依存します。

追加の構成設定

厳密モードに関連するその他の構成オプションについては、Matt のブログ投稿を参照してください。シュタウファー:

  • https://mattsauer.com/blog/laravel-5-3-group-by-hack-with-mysql-strict-mode

以上がLaravel Eloquentの「sql_mode=only_full_group_byと互換性がありません」エラーを修正する方法?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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