2016-04-28 110 views
1

我在我的控制器中执行一个查询,并在我的视图中输出总成本。Laravel阵列输出

继承人我查询:

$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() expects parameter 1 to be string, object given (View: F:\view.blade.php)

+0

尝试增加'得到()''后第()' - '.. 。首先() - > get()方法' –

回答

2

您收到上述错误的原因是因为你正在查询返回Object

要解决这个问题,你可以要么:

{{ $stat['TotalCost']->TotalCost }} 

或者你可以改变你的查询中使用Laravel的内置sum()方法:

DB::table('ORD_DETAIL') 
    ->where('OD_ORDER_NUMBER',$id) 
    ->sum(DB::raw('OD_QTYORD * OD_QTYUNIT * OD_COSTPRICE')); 

希望这有助于!

0

将其更改为

{{ $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(); 
     );