如何选择包含查询的字段

时间:2013-10-29 07:43:12

标签: ruby-on-rails

考虑此模型

User = has_many :grades (table: user_id)
Grade = has_many :subjects (table: grade_id, name)
Subject = has_many :values (table: subject_id,value)
User.find(:first, :include => {:grades =>{:subjects => :value}})

我如何选择所有成绩,然后主题并获得总科目值?

1 个答案:

答案 0 :(得分:0)

如果你想获得主题价值(这是一个数字) 你可以做到

User.find(:first).grades.map(&:subjects).flatten.reduce(:+)

那应该选择第一个用户,然后给你一个他们所有等级的数组,然后将每个等级的主题映射到数组,然后展平数组,然后将所有值加在一起。

相关问题