我在弄清楚所有没有Bars的Foos的作用域方法时遇到了问题。也就是说:
class Foo < ActiveRecord::Base
has_may :bars
end
class Bar < ActiveRecord::Base
belongs_to :foo
end
我想编写一个作用域方法,返回所有没有 bar 的 foos。就像这样:
class Foo < ActiveRecord::Base
has_may :bars
scope :has_no_bars, includes(:bars).where("COUNT(foo.bars) = 0")
end
但我不理解适当的语法。有什么帮助吗?如果更容易,很高兴使用MetaWhere解决方案。