1

Mongoid 3 documentation は、次のようなものを使用して単純な合計を実行できることを示しています。Band.sum(:likes)

次の単純なモデルがあります。

class Project
  ...
  has_many :subprojects
  ...
end

class Subproject
  ...
  field :subtotal, :type => BigDecimal, :default => 0
  ...
end

subtotalそれぞれを合計するにはどうすればよいProjectですか?

たとえば、私は試しました

Project.first.subprojects.sum(:subtotal)0 を返します。

しかし、 Project.first.subprojects.first.subtotal戻ります#<BigDecimal:7fcb0d77b958,'0.11054E3',18(18)>

助言がありますか?

4

2 に答える 2

-1

BigDecimalMongoid でフィールドを合計するには、次のブロック形式を使用し#sumます。

sum = 0 Project.first.subprojects.sum do |subproject| sum += subproject.subtotal end

于 2014-08-15T10:16:13.230 に答える