Laravel获取用户评论的所有帖子

时间:2018-03-07 20:41:12

标签: php laravel eloquent

我有3个名为<script src="https://code.jquery.com/jquery-3.2.1.slim.min.js"></script> <a href="http://www.google.com" class="testClass" onclick="testFunc()">click me</a> <div id="testDiv"></div>UserPost的模型,这些模型是相关的。

用户模型:此模型有很多Post模型。

帖子模型:此模型属于用户模型,有许多评论模型。

评论模型:此模型属于Post模型和用户模型。

现在问题是我如何获得用户评论的所有帖子?

2 个答案:

答案 0 :(得分:3)

whereHas正是您所寻找的:

$posts = Post::whereHas('comment', function($query) use($user) {
    $query->whereUserId($user->id);
})->get();

$user将是您感兴趣的用户。

答案 1 :(得分:0)

添加到用户

function comments() {
    return $this->hasMany(Comment::class);
}

User::find(1)->comments->map(function ($comment) { return $comment->post; })->unique();