Wykonuję obliczenia statyki w moim produkcie. Użytkownik wykonał szereg operacji, powiedzmy komentarze opublikowane. Chcę móc pokazać im, ile tygodni tygodniowo lub tygodniowo zamieszczali komentarze w ciągu ostatniego tygodnia.Grupowanie według tygodnia/miesiąca/etc i ActiveRecord?
Czy jest jakiś sposób na zbieranie danych w ten sposób za pomocą activerecord? Czy najlepiej zrobić to ręcznie - aby powtórzyć podsumowywanie rekordów na podstawie własnych kryteriów?
class User < ActiveRecord::Base
has_many :comments
end
class Comments < ActiveRecord::Base
belongs_to :user
end
@user.comments(:all).map {|c| ...do my calculations here...}
czy jest jakiś lepszy sposób?
dziękuję! Oren
'group_by' nie jest metodą ActiveRecord, ale raczej metodą Ruby na" Enumerable ". – Laurens
Samo użycie 'u.created_at.month' jest krótsze –
Nie należy ładować wszystkich rekordów z bazy danych, tworzyć obiektów ActiveRecord, analizować dat w obiekty świadome strefy czasowej ActiveSupport - wszystko po to, aby obliczyć liczbę rekordów. –