是数组的哈希
relativebase = s.pluck(:base_point).inject(:+) + s.pluck(:distance_point).inject(:+) + s.pluck(:speed_point).inject(:+) + s.pluck(:frequency_point).inject(:+) + s.pluck(:quality_point).inject(:+)
这是我想在一个查询中调用数据库四次。我怎么能得到这个。
答案 0 :(得分:0)
类似的东西:
User.select(:a, :b, :c, :d).all.inject([]) { |res, e| res << e.a; res << e.b; res << e.c; res << e.d; res }
答案 1 :(得分:0)
在pluck
中有4个supports个多个名字:
relativebase = s.pluck(:base_point,
:distance_point,
:speed_point,
:frequency_point).inject(0) do |sum, (bp, dp, sp, fp)|
sum + bp + dp + sp + fp
end
实际上我个人认为计算数据库中的总和可能更好,但我不确定如何在rails中优雅地做到这一点:
SELECT SUM(base_point + distance_point + speed_point + frequency_point) FROM s