我是rails的新手。我正在构建一个购物车应用程序,用户可以在购物车中添加项目。所以,我在MySql数据库中有一个表line_items
,其中我有两列({{1} },cart_id
)。我想添加具有相同quantity
的所有quantities
。例如,使用cart_id
我有三个数量(2,4,3)。所以,我如何添加所有的数量,这将给我结果9。
我可以在Mysql中这样做:
cart_id=5
但是在ROR中如何做。
答案 0 :(得分:1)
假设您的line_items
表对应于LineItem
ActiveRecord模型,您可以这样做:
LineItem.where(cart_id: 5).sum(:quantity)
答案 1 :(得分:0)
您可以使用SQL alias column:
#app/models/cart.rb
class Cart < ActiveRecord::Base
has_many :line_items do
def total
sum :quantity
end
end
end
这将允许您拨打以下电话:
@cart = Cart.find x
@cart.line_items.total #-> total of quantities