2017-04-20 45 views
-1

預先加載我有一個關於在LaravelwhereHas在Laravel

public function index($category = null) { 
     $videos = Video::with(['content', 'content.categories' => function($query) use ($category) { 
      return $query->where('name', $category); 
     }])->paginate(10); 

     return view('frontend.videos')->with('videos', $videos); 
    } 

採取這一方法whereHas一個問題,我有一個視頻模式,視頻模型具有與1對1的關係內容模型,它又有一個多對多的關係,與類別模型 我需要獲取所有視頻,其中的內容與名稱匹配任何已搜索的類別的內容,這可能嗎?如果是的話如何?

回答

-1

我已經想通了,最終的解決方案看起來像這樣,急切的加載會讓我在子查詢中的類別模型,我可以簡單地使用它,並檢查它。

$videos = Video::whereHas('content.categories', function($categories) use ($category) { 
    $categories->where('name', $category); 
})->paginate(10);