Mam następujący model:szyny 3 i GROUP BY sum
activity_types: id, name
activities: id, id_activity_type, occurrences, date (other fields)
sklepu działania stołowego, ile razy występuje działalność po dniu. Ale teraz chcę pokazać użytkownikowi, ile działań z każdego typu miało miejsce w danym miesiącu.
mam następujące rozwiązanie based on this post który wydaje się OK:
Activity.all(:joins => :activity_types,
:select => "activity_types.id, activity_types.name, SUM(activities.occurrences) as occurrences",
:group => "activity_types.id, activity_types.name",
:order => "activity_types.id")
ale to wydaje się dużo kodu do standardów szyn i rails API says it's deprecated.
Znalazłem następujące rozwiązanie, które jest dużo prosty:
Activity.sum(:occurrences).group(:activity_type_id)
Które zwraca hash z activity_type_id => wystąpień.
Co należy zrobić, aby uzyskać następującą wartość skrótu: activity_type.name => wystąpienia?
'activity_types: id, name' tutaj activity_type nazwa będzie Uniq? grupowanie i porządkowanie na activity_types.id jest po prostu spowodowane tym, że chciałeś zamówić hash na podstawie activity_types.id, prawda? –