在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中文網其他相關文章!