2016-09-26 117 views
0

我試圖想像QueryLeadsEvent的分佈。因此,計數每個事件的queryleads,然後根據queryleads的數量(最好是可設置的頻段)對事件進行分組。我認爲我可以做到這一點有以下關係:通過嵌套belongs_to關聯組

Event 
has_many :queries 
has_many :query_leads, through: :queries 

Query 
belongs_to :event 
has_many :query_leads 

QueryLead 
belongs_to :query 

我可以執行聯接:QueryLead.joins(:query => :event)但後來一旦我開始分組看起來我不能夠小組活動的ID。 QueryLead.joins(:query => :event).group('query_leads.id','query_leads.query.events_id').count返回PG::UndefinedTable Error - missing FROM-clause entry for table "query"

我能做的最好的似乎是:.group('query_leads.id', 'query_leads.query_id'),這是一個級別太低。

我在做什麼錯誤/你會如何解決這個問題?

回答

0

此查詢應該適用於您。

Event.joins(queries: :query_leads).select('events.id, COUNT(query_leads.id) as count').group('events.id') 
相關問題