没有不值得去解决的问题,也没有不值得去学习的技术!

分类: Web框架

  • 在 Laravel 9 开发中遇到 Call to undefined method Illuminate\Http\Resources\MissingValue::isEmpty() 报错。经排查,该问题出现在 API 资源类的 $this->whenLoaded() 方法调用中。通过打印调试发现,错误源于在模型关联未被加载时的返回值处理不当。重新修改代码实现逻辑后,问题得到解决,不再报错。

  • 本文探讨了在 Laravel 9 中查询单行单列值遇到的问题及其解决方法。针对表存在多行数据时直接调用 value 方法导致的报错现象,调整了查询逻辑。调整后的实现使得当记录不存在时返回 NULL,记录存在时则返回符合预期的第一条记录的单列数值,且生成的 SQL 语句符合预期,最终有效解决了该查询场景下的错误。

  • 针对 Laravel 9 中 Job 运行报错超过尝试次数或运行超时的问题,文章记录了基于 chunk 方法处理 876 万条数据时的排查与优化过程。通过对比每次处理 10 条、1000 条及 10000 条记录的平均耗时,发现每次 1000 条记录的处理效率最高且内存占用较少。最终结合测试数据决定限制最大导出行数为 10 万条,在性能环境中实际测试,导出 10 万行 Excel 总耗时 107 秒,问题得到解决。

  • 在 Laravel 9 中使用 Redis 门面的 hset 方法尝试传递多个字段和值时,系统报错提示参数数量错误。尽管 Redis 4.0 起已支持 HSET 一次设置多个键值对并废弃了 HMSET,但该环境下暂不支持多参数传递。最终解决方案是保持使用 HSET 命令,改为每次仅传递一个字段值并通过多次执行来实现,修复后运行正常且数据结构符合预期。

  • 本文探讨了在 Laravel 9 中基于 Spatie\QueryBuilder\QueryBuilder 生成查询 SQL 时,如何解决同一字段无法同时支持模糊与精确检索的问题。现有方案限制每个字段只能使用一种过滤器,为此文章提出验证字段类型为数组,并根据元素数量判断逻辑:若数量大于 1 则执行精确检索,否则执行模糊检索,从而实现了单个字段灵活支持两种检索方式。

  • 本文探讨了在 Laravel 9 中基于嵌套数组值实现复杂条件验证的方法。针对嵌套数组 config.item_logistics_feature.value.*.invert_select 的特定值,文章详细描述了如何设置规则以确认外层 config.item_logistics_feature.and_select 的合法性,解决了当内部某项值满足条件时外部值必须为特定数值的逻辑判定,并涵盖了参数不存在时的异常处理与自定义错误消息配置,最终实现了符合预期的验证效果。

  • 在 Laravel 9 中使用原生表达式查询时遇到 SQL 语法错误,原因是数据中包含单引号导致 SQL 语句异常。参考相关文档后,决定在 whereRaw 方法中采用绑定参数的形式来转义单引号,将需要转义的值作为数组传入第二个参数。调整后不再报错,生成的 SQL 语句已自动对单引号进行转义,查询结果符合预期。

  • 针对 Laravel 9 中验证索引数组的需求,文章介绍了如何对请求参数结构中的特定索引值进行操作。主要展示了验证索引数组值最大长度的代码实现,以及为指定属性配置自定义错误消息的方法。最终通过验证失败的响应结果,确认了自定义消息能够正确生效,从而完成了针对索引数组验证及提示信息的配置。

  • 在 Laravel 9 开发中,针对处理集合数据查询的需求,文章探讨了如何实现查找集合中多个键值对的方法。文章首先展示了现有的集合格式,并对比了使用 firstWhere 方法基于单个 id 查找元素的操作。为了解决基于 name 与 email 两个键值对进行查找的问题,文章介绍了利用 first 方法配合真值测试的实现过程,最终成功获取到了符合预期条件的第一个元素。

  • 本文记录了在 Laravel 9 中使用原生表达式查询时,将 IN 条件应用于多个字段的过程。针对使用 whereRaw 方法时出现的 SQL 语法错误,采取了直接拼接原生 SQL 的方式代替参数绑定,从而成功执行了包含多字段的 IN 条件查询,生成的 SQL 语句符合预期。


👨‍💻 个人品牌

王世强|PHP / Go 技术顾问

15+ 年 Web 后端开发经验,专注于系统维护、架构优化、性能调优及 Linux 运维。

持续运营技术博客 10+ 年,累计发布 1000+ 篇原创技术文章。

为创业团队、中小企业及独立开发者提供长期技术支持与远程合作服务。

👉 关于我 & 合作

.env (14) 404 (13) add (16) Apache (13) Array (19) Cache (13) CentOS (23) chrome (19) Cloudflare (24) composer (42) composer.json (22) composer install (13) composer update (14) console (16) Container (25) curl (15) delete (31) Docker (32) Dockerfile (15) ECS (12) EdgeOne (20) environment variable (19) error (24) Failed (13) file (15) filter (20) FORMAT (12) function (13) Git (27) GitHub (17) Gitlab (15) Go (35) Google AdSense (20) GraphQL (24) GraphQL API (14) Gutenberg (27) http (21) https (21) Installation (12) Interface (19) Jenkins (12) Jquery (13) json (24) Laravel (37) Laravel 6 (55) Laravel 9 (25) Lighthouse (17) Lighthouse 5 (14) Linux (19) Migrate (13) Module (17) Multilingual (12) MySQL (76) MySQL 5.7 (21) Nginx (54) Node.js (12) normalize.css (20) OKX (15) OneinStack (14) PHP (67) php.ini (24) PHP 7.1.12 (22) PHP 7.4 (26) phpmyadmin (15) PhpStorm (24) Polylang (57) postman (18) Query (17) queue (16) Rancher (24) Redis (45) response (13) RESTful (27) RESTful API (23) rules (12) Shell (13) Shopify (19) SlyTranslate (17) SQL (24) String (14) TortoiseGit (14) Twenty Twenty-Five (19) Ubuntu (39) update (20) VPN (17) W3 Total Cache (30) Windows 10 (46) WireGuard (26) WordPress (104) WordPress 多语言 (13) WPCode (20) Wstunnel (13) Yii (40) Yii 2 (70) Yii 2.0 (51) 命令行 (13) 技术博客 (15) 数据库迁移 (16) 浏览器 (14) 阿里云 (19)

2026 年 7 月
 12345
6789101112
13141516171819
20212223242526
2728293031