我正在寻找销售(订单)总价值的总和。基本上,将每种出售产品的价格加在一起。
下面的代码很接近解决方案,但是我在“订单”表中没有价格(:price)列,因为我是从“产品”表=> order.product.price
中选择价格如何在Order.rb中显示的以下语法中添加产品:price?
order.rb参考:Rails: How to sum total price per day
scope :total_sales, ->(date_time = Time.now) { where('created_at BETWEEN ? AND ?',date_time.beginning_of_day, date_time.end_of_day).sum(:price) }
OrdersController.rb
def sales
@orders = Order.all.where(seller: current_user).order("created_at DESC")
end
sales.html.erb
Order.total_sales
答案 0 :(得分:1)
一个订单只有一个产品?如果是这样的话:
joins(:product).where('orders.created_at BETWEEN ? AND ?', date_time.beginning_of_day, date_time.end_of_day).sum('products.price')