2016-04-28 6 views
1

Ich führe eine Abfrage in meinem Controller aus und gebe die Gesamtkosten für meine Ansicht aus.Laravel Array-Ausgabe

Heres meine Frage:

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

Heres meine Ausgabe:

{{ $stat['TotalCost'] }} 

Aber ich erhalte die Fehlermeldung:

htmlentities() expects parameter 1 to be string, object given (View: F:\view.blade.php)

+0

Versuchen Sie, zu halten das Hinzufügen 'get()' 'nach ersten()' - '.. .first() -> get() ' –

Antwort

2

Der Grund, warum Sie den obigen Fehler sind immer ist weil Sie Abfrage sind, gibt eine Object zurück.

Um dies zu umgehen Sie können entweder:

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

Oder Sie könnten Ihre Abfrage ändern Laravel eingebauten in sum() Methode zu verwenden:

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

hoffe, das hilft!

0

ändern es zu

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

Ihre Anfrage an

{{ $stat['TotalCost'] }} 

Änderung

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