没有加入的活动记录

时间:2011-07-16 23:11:08

标签: ruby-on-rails-3 activerecord

我有

class Autosalon < ActiveRecord::Base
  has_many :autos
end

class Auto < ActiveRecord::Base
  belongs_to :autosalon
end

autosalon标志有效= 1和注册日期,auto有标志有效= 1

如何在具有活动标志而没有加入的autosalons中获得具有活动标记的所有汽车?

2 个答案:

答案 0 :(得分:2)

没有任何连接/包含,您可以使用SQL in查询:

Auto.where(:active => 1).where("autosalon_id in (select id from autosalons where active=1)")

答案 1 :(得分:1)

这样的事情应该这样做:

active_autosalons = Autosalon.where(:active => 1)
active_autos = Autos.where(:autosalon_id => active_autosalons.map(&:id)).where(:active => 1)

首先获取“有效”Autosalons列表,然后通过Autosalon ID和活动列过滤Autos。