首页 > 解决方案 > 当有数量和价格时,在雄辩的 laravel 中使用 sum

问题描述

我的项目电子商务有问题,在这个问题中我有 2 个表。

餐桌产品

ID     | Name_products   | Price
P1     | Product A       | 2000
P2     | Product B       | 5000
P3     | Product C       | 7500

表用户购物车

ID     | User_id    | Product_id  | Quantity
C1     | User1      | P1          | 2
C2     | User1      | P2          | 1

我用这个查询雄辩:

$totalPricec = MyCart::where('user_id', Auth::user()->id)
               ->select('products.nama_produk', 'products.id as product_id','products.price''my_carts.quantity','my_carts.id as id')
               ->join('products', 'products.id', '=', 'my_carts.product_id')
               ->sum('price');

但我得到的价格是7000(产品 A = 2000 + 产品 B = 5000)

应该是9000(产品 A = 2000 * 2 + 产品 B = 5000 * 1)

我怎样才能得到总价?

标签: phplaraveleloquent

解决方案


我使用这个查询

$totalPricec = MyCart::where('user_id', Auth::user()->id)
           ->select('products.nama_produk', 'products.id as product_id','products.price''my_carts.quantity','my_carts.id as id')
           ->join('products', 'products.id', '=', 'my_carts.product_id')
           ->sum(DB::raw('products.price * my_carts.quantity'));

这就是工作:)

感谢用户@user3532758


推荐阅读