Laravel:語法錯誤或存取衝突:使用WhereIn和GroupBy時出現1055錯誤
對於特定行資料檢索,Laravel允許我們在同一查詢中同時使用WhereIn 和GroupBy。但是,這有時會導致「語法錯誤或存取衝突:1055 錯誤」。
錯誤原因
此錯誤發生在以下情況:
解決方案
解決方案
禁用嚴格模式'mysql' => [ ... 'strict' => false, ... ],
可以禁用MySQL的嚴格模式透過在config/database. php 的'mysql' 數組中設定'strict' => false檔。 'mysql' => [ …… '嚴格' => 假, …… ],
將模式添加到MySQL 選項'mysql' => [ ... 'strict' => false, ... ],
或者,您可以啟用嚴格模式並將特定模式添加到'mysql' 數組的'modes' 選項: 'mysql' => [ …… '嚴格' => 正確, '模式' => ['STRICT_TRANS_TABLES'], …… ],
在WhereIn中合併GroupBy字段'mysql' => [ ... 'strict' => false, ... ],
確保WhereIn條件中使用的id字段也包含在GroupBy字段列表中。這將防止錯誤發生。
$loadids =explode("#@*", $reciptdet->loading_id); $loadingdatas = DB::table('正在載入') ->groupBy(['車輛編號', 'id']) ->whereIn('id', $loadids) ->get();
透過實作這些解決方案,您可以解決在相同查詢中使用WhereIn和GroupBy時出現的「語法錯誤或存取衝突:1055錯誤」。免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。
Copyright© 2022 湘ICP备2022001581号-3