laravel - 如何在 laravel 中获取最新的 n 条相关模型记录
问题描述
我有两个表 - 帖子和评论。它们之间的关系是一对多的。一个帖子有很多评论。
我正在尝试获取所有帖子及其最新 2 条评论的列表
我试过这个:
$posts = Post::with(['comments'=>function($query){
$query->latest()->take(2)->get();
}])->get();
但它似乎只适用于第一篇文章;
解决方案
Laravel 不提供开箱即用的功能,如此处所述https://github.com/laravel/framework/issues/18014并在此处记录https://laravel.com/docs/8.x/eloquent-relationships# constraining-eager-loads,但是有一个包可以用来实现这一点。
推荐阅读
- linq - 子项的 Cosmos Db linq 查询不起作用
- excel - Excel Vlookup Date - 创建具有多个值的列表
- regex - 正则表达式匹配 2 个或更多特殊字符 - PowerShell 脚本
- java - 如何在对象列表上进行交互返回合并数据
- amazon-web-services - CloudFormation:对 SecretManager 值的动态引用不适用于资源的标记属性
- python - Django:ModelMultipleChoiceField 正在将底层模型的 max_length 验证器应用于所选结果的总长度
- visual-studio-code - 使用带有密码保护的 ssh 密钥的 ssh 进行 VSCode 远程开发
- flutter - Flutter:列表的 jsonEncode
- vimeo - Vimeo Unity SDK 是否允许 Vimeo 直播在我的 Unity 应用程序中显示?
- node.js - 使用最新版本的 socket.io 时我的 cors 出现问题