рельсы суммируют значения столбцов строк с похожими атрибутами - PullRequest
2 голосов
/ 13 января 2011

У меня есть таблица сайтов, в которой есть имя столбца и время. Имя не обязательно должно быть уникальным. Так, например, у меня могут быть записи «hi.com, 5», «hi.com, 10», «bye.com, 4». Я хотел бы подвести итог всех уникальных сайтов, чтобы я получил «hi.com, 15» и «bye.com, 4» для построения графиков. Как я могу это сделать? (Для справки я искал http://railscasts.com/episodes/223-charts, но не смог заставить работать следующее (переведено в мою таблицу)

def self.total_on(date) 
  where("date(purchased_at) = ?", date).sum(:total_price) 
end

и я не совсем понимаю синтаксис части 'where("date(purchased_at) = ?", date)'.

Спасибо за помощь новичку рельсов!

1 Ответ

3 голосов
/ 13 января 2011

скажем, у вас есть модель с именем Сайт , с колонками имя и время

, чтобы делать то, что вы хотите, просто скажите что-нибудькак

sites = Site.sum(:time, :group => 'name')

это приведет к хешу как

{"bye.com"=>4, "hi.com"=>15}

тогда вы можете делать все, что хотите с хешем

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