【发布时间】:2012-03-29 23:52:32
【问题描述】:
我有Car(表cars)方法,has_many拥有者(表owners)。如何选择所有没有车主的汽车(== 表中owners 没有一行具有相应汽车的 ID)?
【问题讨论】:
标签: ruby-on-rails-3 activerecord select model associations
我有Car(表cars)方法,has_many拥有者(表owners)。如何选择所有没有车主的汽车(== 表中owners 没有一行具有相应汽车的 ID)?
【问题讨论】:
标签: ruby-on-rails-3 activerecord select model associations
我会按照下面的模型来做......
@cars_without_owners = Car.where("owner_id = ?", nil)
为了安全……
@cars_without_owners = Car.where("owner_id = ? OR owner_id = ?", nil, "")
【讨论】:
你可以使用这个,虽然如果你的表有很多记录会很慢:
Car.where("not exists (select o.id from owners as o where o.car_id = cars.id)")
【讨论】: