按急切负载值排序集合

时间:2016-02-26 21:57:55

标签: laravel eloquent laravel-5.2

我有brand表,models表,categories表。

brandhasManymodels的关系,modelsbelongsTobrand的关系,categoriesbelongsToManymodels表的关系。一切正常。

现在,我如何在特定类别中获得品牌的所有型号?

我试过这个:

$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();

但它与选择特定类别中的所有模型具有相同的效果。它没有过滤品牌名称。

我该怎么做?

1 个答案:

答案 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();