Rails / Sql求和子元素的属性

时间:2013-07-09 08:17:18

标签: sql ruby-on-rails

这似乎是一件简单的事情,但我无法弄明白。

scorecardskills_development,其中有许多training_programs,其中有participantss.skills_development.training_programs.each do |tp| costs = [] tp.participants.each {|p| costs << p.training_facility_cost} costs.inject(:+) end 。每个参与者都有一个名为training_facility_cost的属性,我需要将其提升到一个级别,并找出整个training_program的设施成本。

总结每个子代理的所有facility_cost属性。解决这个问题的最佳方法是什么。我应该在SQL查询中执行此操作,还是使用嵌套块更有效。

类似

NoMethodError: undefined method `+' for nil:NilClass
尽管我得到了

,但仍然有效
{{1}}

,我认为是因为它们都属性为null。所以它不算数为零??

任何人都知道如何快速简单地做到这一点?

1 个答案:

答案 0 :(得分:1)

试试这样的东西

skills_development.participants.to_a.sum { |p| p.training_facility_cost }