首頁  >  文章  >  資料庫  >  如何修復 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:19310瀏覽

How to Fix the

解決 Laravel Eloquent 中 sql_mode=only_full_group_by 的不相容錯誤

Laravel Eloquent groupby Eloquentd.不相容」錯誤查詢包含非聚合列在功能上不依賴 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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn