1

如果我有 3 个模型:

模型Section

模型User

has_many :votes

模型Vote

belongs_to :user

和内部模型Section

has_many :users
has_many :votes, :through => :users

AR如何使用关联获取按票数排序的章节列表?

4

2 回答 2

2

最合理的方法是使用编写为原始 SQL 的子查询来对结果进行排序,如下所示...

Section.order(
  '(select count(1) from votes inner join users on votes.user_id=users.id where users.section_id=sections.id)'
)
于 2012-07-24T04:06:50.913 回答
0
Section.joins(users: :votes).group(:id).order('COUNT(*)')
于 2016-02-11T07:16:05.827 回答