0

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

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

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

编辑:

评论必须由用户 A 发表。发表评论的用户与帖子的关系不是直接的。它将通过评论表。

重新编辑:

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

4

1 回答 1

7

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

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

这是文档的摘录:http: //laravel.com/docs/eloquent

查询关系

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

选择时检查关系

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

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

$posts = Post::has('comments', '>=', 3)->get();
于 2013-08-22T09:31:44.980 回答