Laravel 11将加入 "急迫负载限制 "功能
Laravel  /  管理员 发布于 2年前   556
随着 2024 年 2 月 Laravel 11 的发布,Laravel 将原生支持限制每个父节点急切加载结果的数量。
‘我们已经把 @staudenmeir 的 "急切加载限制 "包背后的代码集成到了 Laravel 11 中。
这意味着在 Laravel 11 中,这个功能将真正发挥作用......检索用户时,
每个用户只能急切加载 5 篇文章...
谢谢 @staudenmeir!‘
- 泰勒-奥特威尔 (@taylorotwell) 2024 年 1 月 16 日
比方说,您既想对用户进行分页,又想为每个用户急切加载三篇博文:
User::with([
'posts' => fn ($query) => $query->limit(3)
])->paginate();经过优化的急切加载模型,上述雄辩的查询看起来就像下面的 JSON 表示法:

在 Laravel 10 或更低版本中,
通过 Jonas Staudenmeir 的
eager-load-limit :
https://github.com/staudenmeir/eloquent-eager-limit
仍然可以方便地实现这一功能,
但在 Laravel 11 中,这一功能将得到原生支持。
下面是一个示例,说明上述代码在 Laravel 11 中的查询结果:
select count(*) as aggregate from `users`
select * from `users` limit 15 offset 0
select * from (
select *, row_number() over (partition by `posts`.`user_id`)
as `laravel_row` from `posts`
where `posts`.`user_id` in (1, 2, 3...)
)
as `laravel_table` where `laravel_row` <= 3
order by `laravel_row`与 Laravel 11 的集成是在 #49695 请求中完成的。
https://github.com/laravel/framework/pull/49695
感谢 Jonas 将这个常用的软件包整合到 Laravel 核心中!
转:
https://laravel-news.com/eager-load-limittest1 在
opencode + Oh-my-openagent,我的第一个免费的ai编程智能体管家:Sisyphus中评论 test..122 在
学历:一种延缓就业设计,生活需求下的权衡之选中评论 工作几年后,报名考研了,到现在还没认真学习备考,迷茫中。作为一名北漂互联网打工人..Zita 在
Google AI Studio升级全栈 vibe coding体验,可直接构建带登录和数据库的应用中评论 111222..123 在
Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..原梓番博客 在
在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..
Copyright·© 2019 侯体宗版权所有·
粤ICP备20027696号
