2010-05-05 71 views
4

我有什么,我认为是一个很简单的问题(鬼才)...Rails的找到所有与关联

我有一个Category模型has_and_belongs_to_manyEvents。我想构建一个简单高效的查询,查找具有一个或多个事件的所有类别。 (使用Rails 3)

我敢肯定,我在这里一个愚蠢的时刻 - 感谢任何帮助:)

回答

8

如何:

Category.find :all, 
    :conditions => 'id in (select distinct category_id from categories_events)' 

你也可以将其添加为命名的范围您Category类,这样你可以说Category.with_events

class Category < ActiveRecord::Base 
    named_scope :with_events, 
    :conditions => 'id in (select distinct category_id from categories_events)' 
end 
+0

谢谢,很好的伎俩。 – aaronrussell 2010-05-05 12:16:36