2016-04-28 103 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(); 
     );