Rails发现所有关联

aar*_*ell 4 ruby activerecord ruby-on-rails associations

我认为这是一个非常简单的问题(着名的遗言)......

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

我确定我在这里有一个愚蠢的时刻 - 任何帮助赞赏:)

mik*_*kej 8

怎么样:

Category.find :all,
  :conditions => 'id in (select distinct category_id from categories_events)'
Run Code Online (Sandbox Code Playgroud)

您也可以将此作为命名范围添加到您的Category类中,以便您可以说Category.with_events例如

class Category < ActiveRecord::Base
  named_scope :with_events, 
    :conditions => 'id in (select distinct category_id from categories_events)'
end
Run Code Online (Sandbox Code Playgroud)