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