假设我有以下关联:
Club has_many users User has_many guns Gun has_many bullets Club: Moe, Larry, Curly Moe: 2 guns gun 1 has 100 bullets gun 2 has 20 bullets Larry: 1 gun gun 1 has 40 bullets Curly: 2 guns gun 1 has 20 bullets gun 2 has 10 bullets
现在,我想知道CLUB中有多少子弹。
它易于使用:Moe.bullets.sum(:金额)= 120发子弹。
但是如何在不迭代每个用户的情况下获得所有项目符号呢?
希望这是有道理的。
BTW,我正在使用ActiveRecord和Rails 3。
谢谢!
答案 0 :(得分:2)
我认为枪1和枪2是名称而不是唯一标识符。在那种情况下,
Club has_many用户 用户has_many枪 Gun has_many bullets
Club:Moe,Larry,Curly
枪:1(萌),2(萌),3(拉里),4(卷曲),5(卷曲) Moe:2支枪 (枪)1有100颗子弹 (枪)2有20发子弹 拉里:1枪 (枪)3有40发子弹卷曲:2支枪 (枪)4有20发子弹 (枪)5有10发子弹
在这种情况下,我会将俱乐部ID添加到枪台。我们可以直接得到一个俱乐部的子弹......
或者另一种解决方案是使用counter_cache ...
希望有所帮助
RGDS,
Kannan R