首頁 > 後端開發 > php教程 > LaravelWhereIn 和 GroupBy:如何修復「語法錯誤或存取衝突:1055」?

LaravelWhereIn 和 GroupBy:如何修復「語法錯誤或存取衝突:1055」?

DDD
發布: 2024-12-20 11:00:11
原創
290 人瀏覽過

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,將停用所有嚴格選項,從而允許執行查詢而不會遇到錯誤。

啟用特定嚴格模式

或者,您可以選擇性地啟用特定的嚴格模式,同時保持啟用常規嚴格模式。新增以下行:

'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的查詢。

以上是LaravelWhereIn 和 GroupBy:如何修復「語法錯誤或存取衝突:1055」?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板