在多对多的关系中找到“无家可归的家庭”

时间:2014-02-13 15:28:38

标签: ruby-on-rails activerecord ruby-on-rails-3.2 many-to-many

我有两个模型,一个以多对多关系链接它们。 像这样:

    class Family < ActiveRecord::Base
      has_many :family_in_house
    end

    class House < ActiveRecord::Base
      has_many :family_in_house
    end

    class FamilyInHouse < ActiveRecord::Base
      belongs_to :family
      belongs_to :house
    end

我需要为与任何房屋无关的家庭设立单独的范围。

我是RoR的新手,我自己找不到解决方案。如果有必要,我会使用Rails 3.2.9。

提前致谢!

1 个答案:

答案 0 :(得分:1)

class Family < ActiveRecord::Base
  has_many :family_in_houses

  scope :without_house, includes(:family_in_houses).where( :family_in_houses => {:house_id=>nil} )
end