0

我有一个具有购物车功能的 rails 应用程序,并且想要定义一种方法来获取所有已完成订单中销售的单个产品的总量。我试着做

def total_product_sold (product)    
  product.line_items.to_a.sum { |item| item.quantity } 
end

但这会返回所有订单项的总和,包括仅放入购物车且未订购的订单项。我只想要实际订购的物品总数。

我也尝试使用.where如下方法

def total_product_sold (product)     
  product.line_items.to_a.sum   { |line_items.where("order > 0", params[:orders])|       line_items.quantity }
end
4

1 回答 1

0

class LineItem < ActiveRecord::Base
  belongs_to :product
  scope :ordered, -> {
    where("ordered > 0")
  }
end

class Product < ActiveRecord::Base has_many :line_items def sold self.line_items.ordered end end

于 2013-07-29T15:19:42.980 回答