Php 以拉维为单位的总价

Php 以拉维为单位的总价,php,laravel,Php,Laravel,我编写了一个从datavba获取数据的代码: $carts = DB::table('carts') ->select('carts.*', 'products.shid as product_shid', 'products.name as product_name', 'products.image as product_image', 'products.unit as product_unit' , 'products

我编写了一个从datavba获取数据的代码:

        $carts = DB::table('carts')
            ->select('carts.*',
            'products.shid as product_shid', 'products.name as product_name', 'products.image as product_image', 'products.unit as product_unit' , 'products.guarantee as product_guarantee' , 'products.price as product_price' ,
            'cart_lists.quantity as cart_list_quantity',
            'markets.name as market_name'
            )
            ->join('cart_lists', 'carts.id', '=', 'cart_lists.cid')
            ->join('products', 'cart_lists.pid', '=', 'products.id')
            ->join('markets', 'products.shid', '=', 'markets.id')
            ->where('carts.status','1')
            ->orderBy('cart_lists.id','DESC')
            ->get();


        foreach($carts as $cart){
            $cart->total = $cart->product_price * $cart->cart_list_quantity;
            $cart->total_sum = $cart->sum('total');
        }
我想用$cart->total\u sum获得购物车中所有产品的总和 但我得到了这个错误:调用未定义的方法stdClass::sum()


我的代码有什么问题吗?

总数是所有车的总和(cart1+cart1+…+cartn),对吗

为什么不使用

$cart->total_sum = $carts->sum('total'); 

$cart表示一行,不能对一行应用总和,而是对一组行应用总和?