我正在控制器中执行查询,并在视图中输出总成本。
这是我的查询:
$stat = array(
'TotalCost' => DB::table('ORD_DETAIL')
->select(DB::raw('SUM(OD_QTYORD * OD_QTYUNIT * OD_COSTPRICE) as TotalCost'))
->where('OD_ORDER_NUMBER',$id)->first()
);
这是我的输出:
{{ $stat['TotalCost'] }}
但是我收到错误:
htmlentities() 期望参数 1 是字符串,对象给定(查看: F:\view.blade.php)
您收到上述错误的原因是因为您的查询返回了一个Object
。
要解决此问题,您可以执行以下操作之一:
{{ $stat['TotalCost']->TotalCost }}
或者,您可以将查询更改为使用 Laravel 的内置sum()
方法:
DB::table('ORD_DETAIL')
->where('OD_ORDER_NUMBER',$id)
->sum(DB::raw('OD_QTYORD * OD_QTYUNIT * OD_COSTPRICE'));
希望这有帮助!
将其更改为
{{ $stat['TotalCost']->TotalCost }}
要维护
{{ $stat['TotalCost'] }}
将查询更改为
$stat = array(
'TotalCost' => DB::table('ORD_DETAIL')
->select(DB::raw('SUM(OD_QTYORD * OD_QTYUNIT * OD_COSTPRICE) as TotalCost'))
->where('OD_ORDER_NUMBER',$id)->lists('TotalCost')->first();
);