我有一张名为images
的表格,用户可以为每张图片投票
当用户对图像进行投票时,我在votes
表中添加了一个新行来注册投票和user_id
。
图片:
- Id
- 图像名称
投票:
- User_id
- Image_id
现在我需要按投票数量排列所有图像,我该怎么办?
我在Image.php文件中添加了一个新方法:
public function votes()
{
return $this->hasMany( 'App\Vote' );
}
我应该获得所有图像然后订购吗?
我在考虑:
$images = Image::with('votes')->get();
这是正确的方法还是有雄辩的隐藏功能?
答案 0 :(得分:2)
试试这个:
$images = Image::with('votes')->get()->sortByDesc(function($sort)
{
return $sort->votes->count();
});
有关分页,请查看manual pagination