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

问题描述 投票:0回答:2

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

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

php laravel eloquent
2个回答
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


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'));
© www.soinside.com 2019 - 2024. All rights reserved.