2011-10-11 39 views
2

我需要查詢數據庫表並獲取按關聯計數排序的行。有沒有Rails(如Active Record Query)的方式來做到這一點?是Ruby on Rails 3:如何通過另一個表的屬性對ActiveRecords進行排序?

我的模特和他們的協會如下:

class User < ActiveRecord::Base 
has_one :business 
end 

class Business < ActiveRecord::Base 
has_many :postulations 
end 

class Postulation < ActiveRecord::Base 
belongs_to :business 
end 

我需要一些通過的假定的,他們的業務具有金額排序的用戶。有沒有乾淨的方式來做到這一點,或者我只需要用find_by_sql查詢?

謝謝。

回答

2
User.includes(:business => :postulations).group("users.id").order("count(postulations.id) desc").limit(20) 

這可能會工作

+0

太好了!我明天會試試這個,並且讓你知道。我不知道包含函數。 –

+0

是的,工作!謝謝!我最終需要一些與衆不同的東西(不得不增加另一個限制),但我在你的幫助下設法做到了。包含功能非常有用! –

相關問題