哪里有Laravel的Eager装载

时间:2017-04-20 17:09:55

标签: laravel-5 eloquent laravel-query-builder

我对Laravel中的WhereHas有疑问

   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);
    }

采用这种方法,我有一个视频模型,视频模型内容模型具有一对一的关系,后者又有多个 - 与类别模型的多少关系 我需要获取所有视频,其中的内容属于名称与搜索过的内容匹配的类别,这可能吗?如果是这样的话?

1 个答案:

答案 0 :(得分:-1)

我已经弄明白了,最终的解决方案看起来像这样,急切的加载会让我得到子查询中的类别模型,我可以简单地使用它并检查它。

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