2017-03-01 56 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();