我有一个列表-grandparent.parents.where(:alive => true),我需要计算属于这些父母的孩子(他们属于这个特定的祖父母)。
最终,我希望将活着的父母人数和他们孩子的人数相加——但希望我应该会没事的,一旦我掌握了第一手……
显然 grandparent.parents.where(:alive => true).children.count 不起作用,但希望你能得到我的目标......
在此先感谢您的帮助,非常感谢!!
我有一个列表-grandparent.parents.where(:alive => true),我需要计算属于这些父母的孩子(他们属于这个特定的祖父母)。
最终,我希望将活着的父母人数和他们孩子的人数相加——但希望我应该会没事的,一旦我掌握了第一手……
显然 grandparent.parents.where(:alive => true).children.count 不起作用,但希望你能得到我的目标......
在此先感谢您的帮助,非常感谢!!
我假设父母和孩子之间的关系很简单has_one
,belongs_to
因此假设您具有模型的parent_id
属性Children
。我还假设Parents
每个孩子的模型中只列出了一个父母……很多假设,所以让我们知道你的模型结构。
如果上述假设成立,请尝试对所有这些父母的孩子总数进行以下操作:
array = []
grandparent.parents.where(:alive => true).each do |parent|
c = Children.find_all_by_parent_id(parent.id).count
array << c
end
array.sum
或者这是每个父母的孩子数量:
grandparent.parents.where(:alive => true).each do |parent|
Children.find_all_by_parent_id(parent.id).count
end