Ruby on Rails 3: Как я могу отсортировать ActiveRecords по атрибуту другой таблицы? - PullRequest
2 голосов
/ 12 октября 2011

Мне нужно запросить таблицу базы данных и получить строки, упорядоченные по количеству ассоциаций.Есть ли в Rails (например, Active Record Query) способ сделать это?

Мои модели и их ассоциации таковы:

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?

Спасибо.

1 Ответ

2 голосов
/ 12 октября 2011
User.includes(:business => :postulations).group("users.id").order("count(postulations.id) desc").limit(20)

Это, вероятно, будет работать

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...