根据关联模型中的列计算SUM

时间:2018-12-01 21:11:23

标签: ruby-on-rails ruby activerecord sum rails-activerecord

我有一个名为vehicles的表,该表有一个名为vehicle_idprice的列。

我有一个名为sales的表,该表引用了vehicles表。它具有vehicle_id列(引用vehicle表)和sale_status列,它们可以等于“卖出”或“贷款”。

我正在尝试计算vehicles的总价格,该价格等于sales表中的“卖出”价格。非常感谢您的帮助!

这是我到目前为止的信息,但返回的数字错误。

vehicle.rb

def self.vehicles_price_sum
  vehicles_sold.sum(:price).to_f
end

def self.vehicles_sold
  Vehicle.where(id: Sale.where(sale_status: 'Sold'))
end

1 个答案:

答案 0 :(得分:0)

您可以尝试使用子查询(这是您所需要的解决方案,但是您需要为in的{​​{1}}子句显式提供一个列名,否则需要提供select'{{1 }}列):

sales