一行中的get()+ sum()

时间:2018-09-09 03:29:13

标签: php laravel get sum

我的数据

invoice|amount|
0001   | 10000|
0001   | 10000|

现在我的代码在Controller上;

$invoices = Invoice::where('user_id', 1)
    ->where('status', 'Paid')
    ->orderBy('datePaid', 'desc')
    ->groupBy('no_invoice')
    ->get()
    ->sum('amount');  return view('invoice', ['invoices' => $invoices]);

我想用get()显示所有数据,并在我的foreach上仅对像这样的字段求和。

invoice|total amount|
0001   | 20000|

1 个答案:

答案 0 :(得分:1)

您可以在查询中的选择中使用 ... $js = <<<EOT var process = { env: { VUE_ENV: "server", NODE_ENV: "production" } }; this.global = { process: process }; var url = "$path"; EOT; $v8 = new \V8Js(); $v8->executeString($js); $v8->executeString($renderer_source); $v8->executeString($app_source); $markup = ob_get_clean(); return $markup; ... ,然后像这样使用selectRaw

sum(amount)

现在您可以打印

$invoices = Invoice::selectRaw('*, sum(amount) as total')
    ->where('user_id', 1)
    ->where('status', 'Paid')
    ->orderBy('datePaid', 'desc')
    ->groupBy('no_invoice')
    ->get();