我有这段代码:
DB::table('product_list')->select(DB::raw('(value*quantity) as total'))->get();
这是我的DB:
product = id,quantity,value,color
我想要将它们添加为:
1|10|500|blue
2|20|250|red
total for each = value*quantity
total = 10000
但它给了我:
array(2) { [0]=> object(stdClass)#266 (1) { ["total"]=> int(5000) } [1]=> object(stdClass)#263 (1) { ["total"]=> int(5000) } }
总结这一切的唯一方法是在PHP中运行foreach循环,但我需要直接从数据库中完成。但必须有另一种方式,不是吗?
答案 0 :(得分:1)
使用SQL SUM
函数:
$total = DB::table('product_list')
->selectRaw('SUM(value * quantity) as total')
->pluck('total');