关于 laravel-performance-eager-loading
laravel-performance-eager-loading 是一项 Laravel 技能,专注于高效加载模型关联并避免 N+1 查询。内容涵盖显式加载关联、开发与测试环境的防护,以及查询验证。
主要功能
- 01显式加载模型关联
- 02使用 load() 和 loadMissing()
- 03在开发与测试中阻止懒加载
- 04验证关联查询及查询数量
适用场景
- 01高效加载文章作者和评论
- 02在开发时发现意外懒加载
- 03通过日志工具检查关联查询量
- 04测试是否出现异常查询增长
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ noartem/ skills --skill laravel-performance-eager-loading安装后在 Claude Code 中输入/laravel-performance-eager-loading确认已加载。
详细介绍
预加载与 N+1 问题防范
显式加载关联关系
Post::with(['author', 'comments'])->paginate();
- 在需要时,获取模型后使用
load()/loadMissing() - 为基础查询和关联关系仅选择所需的列
在开发/测试环境中防止延迟加载
将其添加到服务提供程序(非生产环境)中:
Model::preventLazyLoading(! app()->isProduction());
验证
- 使用查询日志记录器或 debugbar 确认关联关系查询次数已降至最低
- 添加断言查询次数或避免意外查询激增的测试
评论
支持 Markdown