Laravel:语法错误或访问冲突:使用WhereIn和GroupBy时出现1055错误
对于特定行数据检索,Laravel允许我们在同一查询中同时使用WhereIn 和GroupBy。但是,这有时会导致“语法错误或访问冲突:1055 错误”。
错误原因
此错误发生在以下情况:
解决方案
禁用严格模式
可以禁用MySQL的严格模式通过在 config/database.php 的 'mysql' 数组中设置 'strict' => false文件。
'mysql' => [ ... 'strict' => false, ... ],
将模式添加到 MySQL 选项
或者,您可以启用严格模式并将特定模式添加到 'mysql' 数组的 'modes' 选项:
'mysql' => [ ... 'strict' => true, 'modes' => ['STRICT_TRANS_TABLES'], ... ],
在WhereIn中合并GroupBy字段
确保WhereIn条件中使用的id字段也包含在GroupBy字段列表中。这将防止错误发生。
$loadids = explode("#@*", $reciptdet->loading_id); $loadingdatas = DB::table('loading') ->groupBy(['vehicle_no', 'id']) ->whereIn('id', $loadids) ->get();
通过实施这些解决方案,您可以解决在同一查询中使用WhereIn和GroupBy时出现的“语法错误或访问冲突:1055错误”。
免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。
Copyright© 2022 湘ICP备2022001581号-3