2017-03-01 55 views
0

我有一个简单许多一对多多态性关系(如果这种事情是可能的):Laravel多态多对多获取由特定关联

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

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

我所有的是:Post::category('blue')集合(类别是范围)。基于此,获得撰写“蓝帖”作者的最佳途径是什么?

+0

你想急于加载所有笔者对于特定类别? – sumit

+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();