如何根据模型与其他模型的关联找到模型的所有记录?

时间:2011-11-05 17:34:10

标签: ruby-on-rails activerecord

我想要找到的是所有事件,其中event.event_date将来,并且只能按事件与之关联的用户数量排序前3个事件。 HABTM关系加入了事件和用户。这是我试过的:

@popular_events = Event.where("event_date >= ?", Time.now)
                           .find(:all, 
                                 :joins => :users,
                                 :group => 'event_id',
                                 :order => "users.count DESC",
                                 :limit => 10 )

我尝试过其他一些没有运气的事情。这是说users.count不是一个有效的列。

1 个答案:

答案 0 :(得分:0)

信不信由你,使用ActiveRecord这对b * tt来说是一个痛苦。您或多或少必须依赖原始SQL来执行此操作。这里有一些答案:http://www.tatvartha.com/2009/03/activerecord-group-by-count-and-joins/