У меня есть Mail
модель со следующей схемой:Подсчет и группировка одновременно
t.string "mail"
t.integer "country"
t.boolean "validated"
t.datetime "created_at"
t.datetime "updated_at"
И я хочу, чтобы найти топ-5 стран, в базе данных, поэтому я идти вперед и ввести
@top5 = Mail.find(:all,:group => 'country',:conditions => [ "validated = ?" , "t" ], :limit => 5)
Это говорит мне группы (я нужен заказ я не знаю, как писать)
@top5 = Mail.count(:all,:group => 'country',:conditions => [ "validated = ?" , "t" ], :limit => 5)
Это скажет мне, сколько писем в каждой группе
Im интересно, если я могу группы и рассчитывать всего один идти
правда следует использовать вместо 'т' – Swards
@airportyh Rails API говорит, что ActiveRecord.find устарел (http://apidock.com/rails/ActiveRecord/Base/find/class). Вы знаете лучший способ сделать это на Rails 3? – dcarneiro
@ Даниэль: Я думал об этом раньше, но внимательно смотрю: он говорит «переехал или устарел», и на самом деле он был перенесен в ActiveRecord :: FinderMethods # find. (Я считаю, что вы все еще должны позвонить Mail.find, чтобы получить доступ к этому методу в своем новом расположении.) – antinome