tôi có mô hình sau đây:ray 3 nhóm bằng và tổng
activity_types: id, name
activities: id, id_activity_type, occurrences, date (other fields)
Các cửa hàng hoạt động bảng bao nhiêu lần một hoạt động xảy ra vào ban ngày. Nhưng bây giờ tôi muốn hiển thị cho người dùng biết có bao nhiêu hoạt động từ mỗi loại xảy ra theo tháng.
tôi có những giải pháp sau đây based on this post mà có vẻ 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")
nhưng điều này dường như rất nhiều mã cho các tiêu chuẩn đường ray và rails API says it's deprecated.
Tôi tìm thấy giải pháp sau đó là rất nhiều đơn giản:
Activity.sum(:occurrences).group(:activity_type_id)
nào trả về một băm với activity_type_id => xuất hiện.
Tôi phải làm gì để nhận được băm sau: activity_type.name => lần xuất hiện?
'activity_types: id, name' đây activity_type tên sẽ được uniq? nhóm và đặt hàng trên activity_types.id chỉ vì bạn muốn băm đặt hàng dựa trên activity_types.id, phải không? –