mcpField
L
laravel-performance-eager-loading

laravel-performance-eager-loading

github.com/noartem开发1378 次安装2 周前更新
代码仓库

关于 laravel-performance-eager-loading

laravel-performance-eager-loading 是一项 Laravel 技能,专注于高效加载模型关联并避免 N+1 查询。内容涵盖显式加载关联、开发与测试环境的防护,以及查询验证。

主要功能

  1. 01显式加载模型关联
  2. 02使用 load() 和 loadMissing()
  3. 03在开发与测试中阻止懒加载
  4. 04验证关联查询及查询数量

适用场景

  1. 01高效加载文章作者和评论
  2. 02在开发时发现意外懒加载
  3. 03通过日志工具检查关联查询量
  4. 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