【发布时间】:2011-05-30 22:31:44
【问题描述】:
我有一个模型叫做网站 has_many :likes,当然还有另一个模型叫做喜欢 belongs_to :website。我想获取所有网站的数组,但按网站拥有的点赞数对它们进行排序。
有用的信息:
我已经设置好了,所以@website.likes 将返回来自@website 的喜欢。 (@website.likes.count 是一个网站的点赞数)
我想获取所有网站的数组,但按网站的点赞数排序。
【问题讨论】:
-
sortSQL IIRC 不这样做 -
如果@popularwebsites 中的站点数量很少,这可能是可以接受的。但是,如果您首先将所有网站拉入该数组,然后动态进行排序,它将变得昂贵且快速。此外,由于 x.likes.count 必须进行数据库查询,因此会遇到称为 N+1 查询的问题。
标签: ruby-on-rails views models