2

我想找到有孩子的东西。所以给出:

class Foo < ActiveRecord::Base
   has_many :bars
   has_many :bazes

   scope :is_a_parent ...what goes here?...

我想得到有任何酒吧任何 bazes 的 Foos。当然,使用原始 SQL,所有事情都是可能的exists (select 1 from bars ...) or exists (select 1 from bazes ...),但是 yuk。

当然有一些方法可以any?与 arelor方法结合使用吗?不使用 SQL 的其他方法?

4

2 回答 2

0

对你有帮助吗?先前的答案是寻找与您相反的答案(没有条形图或 bazes 的 Foos),但您应该能够反转逻辑。

于 2012-06-08T20:38:15.080 回答
0
class Foo < ActiveRecord::Base
  has_many :bars
  has_many :bazes    

  scope :is_a_parent, (joins(:bars) or joins(:bazes)).uniq

would give you all foos having a bar or a baze

Btw, usually functions starting with "is_", should end with "?", and should return only true/false.

于 2012-06-09T04:53:23.560 回答