2013-10-28 80 views
0

我有這個型號:的Rails 3:添加和列結果哈希

Event 
has_many :incidents 

Incident 
belongs_to :event 

我想要得到與事件數的所有事件的每一個在一個查詢。在Rails中,我知道存在「group by」和「sum」方法,但我不知道如何混合兩者。

謝謝。

回答

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選項。