在SQL中乘以列值,然后添加所有值 - Laravel 4

时间:2014-08-12 02:51:59

标签: mysql laravel sum multiplying

我有这段代码:

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循环,但我需要直接从数据库中完成。但必须有另一种方式,不是吗?

1 个答案:

答案 0 :(得分:1)

使用SQL SUM函数:

$total = DB::table('product_list')
           ->selectRaw('SUM(value * quantity) as total')
           ->pluck('total');