我对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);
}
采用这种方法,我有一个视频模型,视频模型与内容模型具有一对一的关系,后者又有多个 - 与类别模型的多少关系 我需要获取所有视频,其中的内容属于名称与搜索过的内容匹配的类别,这可能吗?如果是这样的话?
答案 0 :(得分:-1)
我已经弄明白了,最终的解决方案看起来像这样,急切的加载会让我得到子查询中的类别模型,我可以简单地使用它并检查它。
$videos = Video::whereHas('content.categories', function($categories) use ($category) {
$categories->where('name', $category);
})->paginate(10);