解決 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的部落格文章找到斯托弗:
以上是如何修復 Laravel Eloquent 中的「與 sql_mode=only_full_group_by 不相容」錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!