不存在的ActiveRecord

不存在的ActiveRecord,activerecord,Activerecord,除了按sql查找外,还有没有其他方法可以将EXISTS与ActiveRecord一起使用 我想要一种很好的方法来查找一对多关系中没有关联的所有记录 SELECT DISTINCT store_type FROM stores WHERE NOT EXISTS (SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type) ActiveRecord将执行与

除了按sql查找外,还有没有其他方法可以将EXISTS与ActiveRecord一起使用

我想要一种很好的方法来查找一对多关系中没有关联的所有记录

SELECT DISTINCT store_type FROM stores
  WHERE NOT EXISTS (SELECT * FROM cities_stores
                    WHERE cities_stores.store_type = stores.store_type)

ActiveRecord将执行与上面输入的查询相同的查询。返回的存储实例将具有单个存储类型属性。

如果能够使用标准ActiveRecord方法而不是原始SQL编写内部查询,那就太好了。这可能吗?@AndrewCone您是否尝试过使用
join
?见正式文件
Store.all(:select => "DISTINCT store_type",
          :conditions => "NOT EXISTS (SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type)")