2017-03-22 10 views
0

私はデータベースからデータを取得し、このデータをpdfビューに渡してダウンロードしようとしています。laravel 5.4でPDFをダウンロードするには?

私はこのコードを試してみましたが、そのは動作していない:

<a href="{{url('/download-PDF/'.$eventData->id)}}" class="btn btn-danger pull-right">Download PDF </a> 

ルート

Route::get('download-PDF/{id}', '[email protected]'); 

コントローラ

class PDFController extends Controller 
{ 
public function pdf($id){ 
    $getEvent=Event::find($id); 
    $eventId=$getEvent->id; 


    if(isset($eventId)) { 

     $eventData = Event::where('id', $eventId)->first(); 
     $getDays = Day::where('event_id', $eventId)->get(); 
     for ($i = 0; $i < count($getDays); $i++) { 
      $dayId = $getDays[$i]->id; 
      $schedule[$i] = DaySchedule::where('day_id', $dayId)->get(); 
     } 

    } 

    $pdf=PDF::loadView('pdf',['eventData' => $eventData, 'schedule' => $schedule]); 

    return $pdf->download('event.pdf'); 
} 
} 

コンフィグ

'providers' => [ 
    Barryvdh\DomPDF\ServiceProvider::class, 
] 

'aliases' => [ 
'PDF' => Barryvdh\DomPDF\Facade::class, 
    ] 
+0

あなたはどうしていますか? – Learner

+0

しばらく実行した後、このエラー「最大実行時間60秒を超えました」を取得します –

+0

http://stackoverflow.com/questions/30270316/how-to-solve-a-timeout-error-in-laravel-5 – Learner

答えて

1

例外はありますか?ここ

私はPDFを生成するために使用するコードである:

コントローラー:

public function generateReport(TimetableRequest $request, $id) { 
    $reportData = $this->prepareReportData($id, $request->startDate, $request->endDate); 
    $pdf = App::make('dompdf.wrapper'); 
    $pdf->loadView('pdf.report', $reportData); 
    return $pdf->download('report.pdf'); 
} 

構成

'providers' => [ 
    ... 
    Barryvdh\DomPDF\ServiceProvider::class, 
    ], 

'aliases' => [ 
    'App' => Illuminate\Support\Facades\App::class, 
    ... 
    'PDF' => Barryvdh\DomPDF\Facade::class, 
    ] 

ルート

Route::get('projects/{id}/report', '[email protected]'); 
関連する問題