根据类别顺序在laravel雄辩的关系中排成一行的特定类别中有多少张图像?

时间:2018-12-24 05:20:31

标签: php laravel eloquent

当前我的类别以降序显示。

public function categories(){
    $categories = Category::orderBy('created_at', 'desc')->get();
    return view('categories', ['categories' => $categories]);
}

我的图像表有一个category_id列,其中包含它们所属类别的ID。

我的图像模型与类别模型具有belongsTo()关系:

public function category(){
    return $this->belongsTo('App\Category');
}

我的类别模型与图像模型具有hasMany()关系:

public function images(){
    return $this->hasMany('App\Image');
}

我一直在想是否可以根据所属的图像数量来排序类别

1 个答案:

答案 0 :(得分:1)

尝试这个

通过在laravel中使用 withCount 惯用方法

Category::withCount('images')->orderBy('images_count', 'desc')->get();

有关更多信息,请阅读laravel官方文章counting-related-models