最佳答案
这似乎相当简单,但我不能让它出现在谷歌上。
如果有:
class City < ActiveRecord::Base
has_many :photos
end
class Photo < ActiveRecord::Base
belongs_to :city
end
我想找到所有没有照片的城市。我想能够调用类似..。
City.where( photos.empty? )
... 但是这并不存在。那么,你怎么做这种查询呢?
更新: 现在已经找到了原始问题的答案,我很好奇,你如何构造相反的结构?
IE: 如果我想创建这些作用域:
scope :without_photos, includes(:photos).where( :photos => {:city_id=>nil} )
scope :with_photos, ???