Laravel 4条件关系


Laravel 4 Conditional Relationship

我需要能够指定关系的条件(一对多)。

例如:;我们有一个帖子,它有很多评论,但我只想要用户a发表的带有评论的帖子,然后返回帖子对象。

我目前唯一能想到的方法是使用Fluent查询,它不会返回我想要的Post对象!

编辑:

评论由用户A发表。发表评论的用户之间的关系不是直接的。它将遍历"注释"表。

重新编辑:

也可以说有不同的帖子吗?而不是返回相同Post对象的3?

您可以查询关系。你最终会得到这样的东西:

$postsWithComments = $user->posts()->has('comments', '>=', 1)->get();

以下是文档摘录:http://laravel.com/docs/eloquent

查询关系

访问模型的记录时,您可能希望根据关系的存在来限制结果。例如,您希望提取所有至少有一条评论的博客文章。为此,您可以使用has方法:

选择时检查关系

$posts = Post::has('comments')->get();

您还可以指定运算符和计数:

$posts = Post::has('comments', '>=', 3)->get();