0

我有这个模型:

Event
has_many :incidents

Incident
belongs_to :event

我想获取所有事件以及每个查询中的事件编号。在 Rails 中,我知道存在“group by”和“sum”方法,但我不知道如何混合使用这两种方法。

谢谢。

4

1 回答 1

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 选项。

于 2013-10-28T09:30:39.593 回答