我有一个列表 - grandparent.parents.where(:alive => true),我需要统计属于这些父母的孩子(属于这个特定的祖父母)。
最后,我想要总结活着的父母数量和数量。他们的孩子 - 但希望我一切都好,一旦我第一次握手......
显然,grandparent.parents.where(:alive => true).children.count不起作用,但希望你能得到我的目标......
提前感谢您的帮助,非常感谢!!
答案 0 :(得分:0)
我假设父母和孩子之间的关系很简单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