у меня есть следующие модели:рельсов 3 группы по и сумма
activity_types: id, name
activities: id, id_activity_type, occurrences, date (other fields)
Деятельность таблицы магазина, сколько раз, когда происходит активность днем. Но теперь я хочу показать пользователю, сколько действий из каждого типа произошло за месяц.
я получил следующее решение based on this post, который, кажется нормально:
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")
, но это, кажется, много коды для стандартов рельсов и rails API says it's deprecated.
Я нашел следующее решение, которое много просто:
Activity.sum(:occurrences).group(:activity_type_id)
который возвращает хэш с activity_type_id => вхождений.
Что мне делать, чтобы получить следующий хэш: activity_type.name => вхождения?
'activity_types: ид, name' здесь activity_type имени будет Uniq? grouping & ordering on activity_types.id - это просто потому, что вы хотели упорядоченный хэш на основе activity_types.id, правильно? –