如何计算 Laravel 购物车中多件商品的总价?

时间:2021-01-12 12:57:03

标签: php mysql laravel eloquent eloquent-relationship

我有一个购物车表,其中列是---->“id”、“user_id”、“product_id”、“数量”。查看图片 carts table image

这里是产品表 products table

当用户将商品添加到购物车时,我想获取用户添加到购物车中的产品的总价。如何做到这一点?

这是购物车模型 cart model

这是产品型号 product model

1 个答案:

答案 0 :(得分:0)

一种选择:

您可以在 User 模型中为 Cart 编辑现有关系或创建新关系以加入 products 表并进行计算以获得总价。

//User model
public function cartsWithProductPrice(){
 return $this->hasMany(Cart::class)
             ->join('products', 'carts.product_id', 'products.id')
             ->select('carts.*', 
                      \DB::raw('carts.quantity * products.price as price')
                     );
}

例如,当您调用 User::with('cartsWithProductPrice')->find(1); 时,它应该为您提供与名为 price 的字段以及总价的购物车关系。

希望这会为您指明正确的方向。