Rails 3:将sum列添加到结果哈希中

时间:2013-10-28 09:17:51

标签: ruby-on-rails activerecord

我有这个型号:

Event
has_many :incidents

Incident
belongs_to :event

我想在一个查询中获取每个事件编号的所有事件。在Rails中我知道存在“分组依据”和“求和”方法,但我不知道如何混合两者。

感谢。

1 个答案:

答案 0 :(得分:0)

您需要按对象ID和计数元素进行左连接:

Events.joins('LEFT JOIN incidents ON incidents.event_id = events.id').group_by('events.id').select('events.*, COUNT(incidents.id) AS incidents_count')

您还可以查看counter_cache选项。