有数量和价格时在雄辩的幼虫中使用和

时间:2019-12-05 04:07:59

标签: php laravel eloquent

我的项目电子商务存在问题 在这个问题上我有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)

我如何才能实际获得总价?

2 个答案:

答案 0 :(得分:0)

我正在使用此查询

$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

答案 1 :(得分:0)

第一个join表,然后运行select

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