Laravel 基于来自 2 个不同表格的输入的购物车总和

Laravel Cart Sum based on input from 2 different tables

我有 2 tables 包(购物车)和产品。我在产品 table 中保存用户在不良 table 和 sale_price 中添加的数量。我需要为每个项目获取 bag.quantity * products.sale_price 的总和。我正在使用查询生成器来获取总和。我怎样才能得到那个

我可以使用 join 获取所有属性的列表

$items = DB::table('bag')->where('bag.user_id' , $user_id)->where('bag.order_id', 0)->join('products','products.id','=','bag.product_id')->get();

api link:

https://apptest.factory2homes.com/api/get-bag-products/3

我需要将数量乘以每个唯一 product_id 的 sale_price,然后取其总和

你可以使用selectRaw来做这样的事情:

$items = DB::table('bag')->where('bag.user_id' , $user_id)
            ->where('bag.order_id', 0)
            ->join('products','products.id','=','bag.product_id')
            ->selectRaw('*, (bag.quantity * products.sale_price) as totalPrice')
            ->get();

要求和,您可以使用 sum:

$sum=$items->sum('totalPrice');