我有brand
表,models
表,categories
表。
brand
与hasMany
有models
的关系,models
与belongsTo
有brand
的关系,categories
有belongsToMany
与models
表的关系。一切正常。
现在,我如何在特定类别中获得品牌的所有型号?
我试过这个:
$categories = Category::with(['models'=>function($query) use ($brand_name){
$query->with(['brand'=>function($query) use ($brand_name){
$query->where('name', $brand_name);
}]);
}])->where('name', 'presses')->first();
但它与选择特定类别中的所有模型具有相同的效果。它没有过滤品牌名称。
我该怎么做?
答案 0 :(得分:1)
试试这个,看看它是怎么回事
$categories = Category::with(['models'=>function($query) use ($brand_name){
$query->whereHas('brand', function($query) use ($brand_name){
$query->where('name', $brand_name);
});
},'models.brand'])->where('name', 'presses')->first();