2016-12-30 2 views
2

ich eine DOMPDF mit Laravel erstellen möchten, und ich muss meine Variable vorbei zu sehen. Ich habe versucht, Variable wie unten zu übergeben, aber es funktioniert immer noch nicht.Passing Variable von DOMPDF Controller anzuzeigen

hier mein Laravel-Controller

public function pdf(Request $request, $id){ 
    $salesorder = $this->show($id)->salesorder; 
    $detailservice = $this->show($id)->detailservice; 
    $detailemployee = $this->show($id)->detailemployee; 

    $data = [$salesorder, $detailemployee, $detailservice]; 

    $pdf = PDF::loadView('summary.invoice', $data); 
    return $pdf->download('invoice.pdf'); 
} 

der Fehler auf meiner Ansicht ist:

Undefined variable: Salesorder

Wie eine Variable von Laravel Controller vorbei dompdf?

PS: dd($data) Ergebnis ist korrekt

Antwort

2

Sie haben die data wie unten

$data = [ 
    'salesorder'  => $salesorder, 
    'detailemployee' => $detailemployee, 
    'detailservice' => $detailservice 
]; 

oder versuchen compact

$data = compact('salesorder', 'detailemployee', 'detailservice'); 
+0

hi, es funktioniert immer noch nicht. Wenn ich 'compact' benutze, ist der Fehler immer noch derselbe, aber wenn ich den ersten Weg benutze, dauerte es lange, bis die Seite geladen wurde. – rafitio

+0

@rafitio Ich habe das '[]' von compact entfernt. Beantwortete die Antwort bitte erneut. Wird der andere Weg geladen? oder es dauert lange Zeit und nicht laden auch –

+0

@ rafitio Eine Sache, die ich in Langsamkeit vorschlagen kann, speichern Sie nach '$ this-> show ($ ID)' Code-Rückgabe in einer Variablen und verwenden Sie diese var, um die anderen Werte zuzuweisen. Auf diese Weise wird die Funktion nur einmal bekommen ausführen vielmehr, dass dreimal –

0

Sie verwenden passieren kann die folgende versuchen.

$html = view('summary.invoice', ['salesorder' => $salesorder, 'detailemployee' => $detailemployee, 'detailservice' => $detailservice])->render(); 
$pdf = App::make('dompdf.wrapper'); 
$invPDF = $pdf->loadHTML($html); 
return $pdf->download('invoice.pdf');