标签: Spatie\QueryBuilder
-
本文针对列表接口响应超时的优化过程,探讨了在 Spatie\QueryBuilder 中强制使用组合索引的适用场景。通过 SQL 执行耗时分析发现,当查询条件包含 shipping_at_gmt 与 shipping_status、shipping_type 或 operated_source 时,强制使用组合索引有效;但在包含 operator_user_id 且数据量极大时会导致负优化。基于此总结出针对性规则,最终实现后的打印调试结果符合预期。
-
在使用 Spatie\QueryBuilder 时遇到 AllowedFilter::endsWithStrict() 方法未定义的错误,通过检查 AllowedFilter.php 源码确认该方法不存在。查看 composer.json 发现当前使用的 spatie/laravel-query-builder 版本为 5.2.0,于是使用 Composer 将包自动更新至最新兼容版本 5.7.0。更新后不再报错,生成的 SQL 语句也符合预期,成功解决了该问题。
-
在使用 Spatie\QueryBuilder 时,请求参数中包含逗号会导致 SQL 报错,提示绑定参数数量不匹配。经检查,原因是默认将逗号分隔的字符串拆分为了多个参数。通过禁用逗号自动转换为数组的功能,确保生成的 SQL 占位符数量与绑定参数一致,最终解决了该报错问题并验证了查询结果的正确性。
