【发布时间】:2017-08-14 14:47:46
【问题描述】:
我正在尝试从数据库中获取数据并将这些数据传递给 pdf 视图并下载它。
我试过这段代码,但它不起作用:
<a href="{{url('/download-PDF/'.$eventData->id)}}" class="btn btn-danger pull-right">Download PDF </a>
路线
Route::get('download-PDF/{id}', 'PDFController@pdf');
控制器
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,
]
【问题讨论】:
-
你遇到了什么错误?
-
它执行了一段时间然后得到这个错误
Maximum execution time of 60 seconds exceeded -
这不一定能解决你的问题,但如果你知道你将能够在生产服务器上执行二进制文件,我发现 barryvdh/laravel-snappy 要好得多(比 DomPDF 更好的渲染)。
标签: laravel pdf laravel-5 laravel-5.4