Rails 对记录中的所有价格求和
Rails sum all prices inside a record
我有一个模型 Products
那 belongs_to
模型 Kit
套件has_many
Products
¿如何汇总属于一个套件的每个产品的所有价格?
我试过了,没有成功:
@kitprice = Kit.products.price.sum
问题有点模棱两可。假设您有一个名为 kit 的 Kit 实例,并且一个 kit 有许多 product 对象;以下将为您提供所需的结果。
sum = 0
kit_id = <enter kit id here>
kit = Kit.find_by_id(kit_id)
# iterate through every product object and compound price here
kit.products.each{|product| sum = sum + product.price}
puts sum
基本上您需要遍历每个产品对象并计算总和,因为它有很多关系。
试试这个:
@kitprice = kit.products.sum(:price)
就我而言,我的钱包有很多操作
wallet = Wallet.first
amount = wallet.operations.sum(:amount)
这将为您提供每个套件及其产品的总和,我假设您的套件模型中有一个名为 name 的列
@kit_products_price = Kit.includes(:products).group(:name).sum('products.price')
如果你想要所有套件产品的总和:
@kit_price = Kit.includes(:products).sum('products.price')
我相信以下应该有效:
Active Record 集合
@total = kit.products.sum("price")
Ruby数组
@total = kit.products.sum(&:price)
我有一个模型 Products
那 belongs_to
模型 Kit
套件has_many
Products
¿如何汇总属于一个套件的每个产品的所有价格?
我试过了,没有成功:
@kitprice = Kit.products.price.sum
问题有点模棱两可。假设您有一个名为 kit 的 Kit 实例,并且一个 kit 有许多 product 对象;以下将为您提供所需的结果。
sum = 0
kit_id = <enter kit id here>
kit = Kit.find_by_id(kit_id)
# iterate through every product object and compound price here
kit.products.each{|product| sum = sum + product.price}
puts sum
基本上您需要遍历每个产品对象并计算总和,因为它有很多关系。
试试这个:
@kitprice = kit.products.sum(:price)
就我而言,我的钱包有很多操作
wallet = Wallet.first
amount = wallet.operations.sum(:amount)
这将为您提供每个套件及其产品的总和,我假设您的套件模型中有一个名为 name 的列
@kit_products_price = Kit.includes(:products).group(:name).sum('products.price')
如果你想要所有套件产品的总和:
@kit_price = Kit.includes(:products).sum('products.price')
我相信以下应该有效:
Active Record 集合
@total = kit.products.sum("price")
Ruby数组
@total = kit.products.sum(&:price)