1

私はlist-grandparent.parents.where(:alive => true)を持っており、これらの親(この特定の祖父母に属する)に属する子供を数える必要があります。

最終的に、私は生きている親の数とその子供たちの数を合計することを探しています-しかし、うまくいけば、この最初のビットを手に入れたら、私は元気になるはずです...

明らかにgrandparent.parents.where(:alive => true).children.countは機能しませんが、うまくいけば、私が目指しているものを手に入れることができます...

助けてくれてありがとう、本当にありがとう!

4

1 に答える 1

0

親と子の関係は単純であるhas_onebelongs_to想定しているため、モデルのparent_id属性があると想定しています。Childrenまた、各子のモデルにリストされている親は1つだけであると想定してい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
于 2013-01-31T09:19:15.893 に答える