Activerecord找到没有任何具有特定字段值的孩子的父母

时间:2017-02-15 19:15:27

标签: ruby-on-rails activerecord

我试图查找没有任何具有特定字段值的子项的所有父记录。我希望这会奏效:

results = Parent.joins(:children).where.not('children.field' => "some_field_value")

但它会返回所有父母,这些孩子的任何孩子都没有等于" some_field_value"的字段。

1 个答案:

答案 0 :(得分:-1)

不是最干净的解决方案,但您可以先找到有 某个字段值的孩子的父母,然后得到相反的结果。

inverse = Child.where(field: 'some_field_value').pluck(:parent_id).uniq
results = Parent.where.not(id: inverse)