我试图查找没有任何具有特定字段值的子项的所有父记录。我希望这会奏效:
results = Parent.joins(:children).where.not('children.field' => "some_field_value")
但它会返回所有父母,这些孩子的任何孩子都没有等于" some_field_value"的字段。
答案 0 :(得分:-1)
不是最干净的解决方案,但您可以先找到有 某个字段值的孩子的父母,然后得到相反的结果。
inverse = Child.where(field: 'some_field_value').pluck(:parent_id).uniq
results = Parent.where.not(id: inverse)