月度归档: 2024 年 9 月
-
文章记录了本地日志中出现的 preg_replace() Unknown modifier 错误。通过排查代码实现和打印日志,发现变量 $otherPattern 的值包含斜杠符号导致异常。由于该符号在正则定界符中具有特殊含义,遂对代码进行调整以避免解析冲突。最终日志不再报错,替换后的字符串格式符合预期,成功解决了该异常问题。
-
针对 Laravel 9 中嵌套预加载的场景,文章探讨了如何同时为嵌套关系添加查询约束。文中展示了现有实现及生成的 SQL 语句,并详细说明了针对 items 关系添加约束的具体代码修改过程。最终通过比对生成的 SQL 结果,验证了修改后的实现符合预期,成功实现了在嵌套预加载中应用特定条件的需求。
-
在使用 Spatie\QueryBuilder 时遇到 AllowedFilter::endsWithStrict() 方法未定义的错误,通过检查 AllowedFilter.php 源码确认该方法不存在。查看 composer.json 发现当前使用的 spatie/laravel-query-builder 版本为 5.2.0,于是使用 Composer 将包自动更新至最新兼容版本 5.7.0。更新后不再报错,生成的 SQL 语句也符合预期,成功解决了该问题。
-
在使用 Spatie\QueryBuilder 时,请求参数中包含逗号会导致 SQL 报错,提示绑定参数数量不匹配。经检查,原因是默认将逗号分隔的字符串拆分为了多个参数。通过禁用逗号自动转换为数组的功能,确保生成的 SQL 占位符数量与绑定参数一致,最终解决了该报错问题并验证了查询结果的正确性。
