我使用Rails 3.2发表此声明:
Event.joins(:picks).where(picks: {result: nil,created_at: 5.days.ago..Time.now,league_id: 1})
它会返回我想要的内容,但会有许多重复的事件。
如何才能获得独特的活动?
我尝试将.distinct添加到结尾,但它返回
#<Arel::Nodes::Distinct:0x007fc13e587800>
答案 0 :(得分:2)
Event.joins(:picks).where(picks: {result: nil,created_at: 5.days.ago..Time.now,league_id: 1}).group('events.id')
答案 1 :(得分:0)
你可以试试这个。
event_id_query = Pick.where(result: nil,created_at: 5.days.ago..Time.now,league_id: 1).select(:event_id)
Event.where(id: event_id_query)
这将创建子查询,并且只返回数据库中的不同事件。