0
我有对象的数组的数组创建总和的数组,看起来像这样:Ruby on Rails的:从对象
[#<Holding id: 5, user_id: 21, outcome_id: 7, quantity: 200, cost_basis: nil, created_at: "2011-12-15 20:52:05", updated_at: "2011-12-15 20:52:05">,
#<Holding id: 6, user_id: 21, outcome_id: 7, quantity: 750, cost_basis: nil, created_at: "2011-12-15 21:31:30", updated_at: "2011-12-15 21:31:30">,
#<Holding id: 7, user_id: 21, outcome_id: 9, quantity: 1231, cost_basis: nil, created_at: "2011-12-15 21:35:31", updated_at: "2011-12-15 21:35:31">]
我用我的模型的find_all_by_user_id检索这个(Holding.find_all_by_user_id(21)) 。但是,我需要的是一系列总和。所以,举例来说,我想获得,而不是在这种情况下是:
[#<Holding id: 5, user_id: 21, outcome_id: 7, quantity: 950, cost_basis: nil, created_at: "2011-12-15 20:52:05", updated_at: "2011-12-15 20:52:05">,
#<Holding id: 7, user_id: 21, outcome_id: 9, quantity: 1231, cost_basis: nil, created_at: "2011-12-15 21:35:31", updated_at: "2011-12-15 21:35:31">]
什么会让它更妙的是,如果我可以从我的成果模型Outcome.description拉,让它在这个第二数组以及id。我只需要循环并创建其中的outcome_id匹配或有更好的方法?
我同意在SQL中这样做是更好的解决方案。它返回的数据少得多,总是有用的,再加上DBM就是为这种提升而做的。我唯一需要检索整行的是如果必须根据总和进行后续的数据处理。 – 2011-12-16 00:15:20