我的帖子模型与 post_pics 具有 hasMany 关系,并且与类别模型属于属关系。
我想获取所有帖子及其所有类别,但每个帖子的第一个post_pics。
为此,我写了这个Eager Load Constraints:
Post::with([
'post_pics' => function ($query) {
$query->select(['pic_id', 'pic_name', 'post_id'])->first()->get();
},
'categories' => function ($query) {
$query->select(['categories.cat_id', 'name']);
}
])
->take(12)->orderBy('created_at', 'desc')
->get(['post_id', 'post_title', 'post_alias', 'post_content', 'comments_count', 'created_at']);
return $latestPosts;
当我在 select()方法之后移除第一个()方法时,一切正常并返回每个帖子的所有图片但是当我使用第一个()时/ strong>方法,只返回有多张图片的模型的第一张图片。
我尝试采取(1)约束,但它也不起作用。
什么是问题,我该怎么做?
答案 0 :(得分:0)
I got my answer in Laracasts Forum: