首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >子元素的Rails/Sql求和属性

子元素的Rails/Sql求和属性
EN

Stack Overflow用户
提问于 2013-07-09 16:17:18
回答 1查看 80关注 0票数 0

这似乎是一件简单的事情,但我不能理解它。

一个scorecard有一个skills_development,它有很多training_programs,它有很多participants。每个参与者都有一个名为training_facility_cost的属性,我需要将其提升一级,并找出整个training_program的设施成本。

因此,对每个子部分的所有facility_cost属性求和。解决这个问题的最好方法是什么?我应该在sql查询中这样做,还是使用嵌套块会更有效率。

就像这样

代码语言:javascript
复制
s.skills_development.training_programs.each do |tp|
  costs = []
  tp.participants.each {|p| costs << p.training_facility_cost}
  costs.inject(:+)
end

尽管我得到了最好的结果

代码语言:javascript
复制
NoMethodError: undefined method `+' for nil:NilClass

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

有人知道如何快速简单地完成这项工作吗??

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-07-09 16:21:48

试试下面这样的东西

代码语言:javascript
复制
skills_development.participants.to_a.sum { |p| p.training_facility_cost }
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17543270

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档