Laravel多态多对多以特定关联取

时间:2017-03-01 04:33:18

标签: laravel eloquent octobercms

我有一个简单的多对多关系(如果可能的话):

作者: 在博客上我们有Posts => Authorable 在杂志上,文章=> Authorable

两种关系都按预期/记录的方式工作。我需要的是获取特定帖子类别的所有作者

我只有:Post::category('blue')收集(类别是范围)。基于此,获得撰写“蓝色帖子”的作者的最佳方式是什么?

1 个答案:

答案 0 :(得分:2)

您希望在您的范围内使用has()whereHas()查询方法。有关使用它们的详细说明,请参阅Laravel - Eloquent "Has", "With", "WhereHas" - What do they mean?

基本上看起来像这样:

$authorsOfBluePosts = Author::whereHas('posts', function ($postsQuery) {
    $postsQuery->whereHas('category', function ($categoryQuery) {
        $categoryQuery->where('name', 'blue');
    });
})->get();