我有两个模型,has_many
和belongs_to
关系:
class Parent < ActiveRecord::Base
has_many :children
end
class Child < ActiveRecord::Base
belongs_to :parent
end
如何找到所有孩子在某些特定领域都没有价值的父母。
答案 0 :(得分:0)
您可以加入子表,然后检查attribute_to_test
是否为nil?
@nillish_parents = Parent.joins(:children).where("child.attribute_to_test IS ?", nil)
@nillish_parents.each do |p|
p.name
end
答案 1 :(得分:-1)
&#39;所有孩子都有病情。通常要难得多!我确定有一些方法可以通过复杂的连接来实现,但更简单的ruby方式是执行以下操作:
parents = []
Parent.includes(:children).find_each do |parent|
parents.push(parent) if parent.children.collect{|child| child.field.nil?}.reduce(:&)
end