我正在写电影和系列数据库。我希望按类型过滤。
对于电影部分来说,它很容易。在我的电影模型中,我可以添加一个类型范围:
public function scopeGenres($query, $genres)
{
return $query->whereHas('genres', function($q) use ($genres){
$q->whereIn('genres.genre_id', $genres);
});
}
现在我想将它包含在系列模型中。问题:我显示季节而不是系列,并且系列附加了类型。
就像:
Season belongsTo Serie morphToMany Genre
我已经尝试过如下:
$seasons->with('serie' => function($query) use ($genre_ids){
$query->whereHas('genres', function($q) use ($genre_ids){
$q->whereIn('genres.genre_id', $genres);
});
});
但没有成功。
我如何按流派过滤季节?
答案 0 :(得分:1)
您只需将with
函数替换为另一个whereHas
$seasons->whereHas('serie', function($query) use ($genre_ids) {
$query->whereHas('genres', function($q) use ($genre_ids){
$q->whereIn('genres.genre_id', $genres);
});
});