我正在使用barryvdh的库DOMPdf从我的reports.blade中的html.code生成pdf文档.php如下所示.我想使用reports.blade创建一个PDF.php.当我单击下载pdf链接时,它给出错误说未定义的"用户"变量。
<a href="{{url('/pdfs')}}">Download pdf</a>
@foreach ($users as $user)
<font size="6">
<ol> {{$user->name}}
{{$user->lname}}</font><br>
@endforeach
但是我运行这个 Laravel 项目,它调用 undifed 变量时出错。
报告生成器控制器的代码如下所示。
<?php
namespace AppHttpControllers;
use IlluminateSupportFacadesDB;
use AppHttpControllersController;
use IlluminateHttpRequest;
use AppUser;
use PDF;
class pdfGenerator extends Controller
{
public function reportPdf(){
$pdf = PDF::loadview('reports');
return $pdf->download('report.pdf');
}
public function report()
{
$users = DB::table('users')->get();
return view('reports', ['users' => $users]);
}
}
为什么调用未定义的变量会发生错误。 但是如果没有以下代码部分,我可以下载空的PDF。
@foreach ($users as $user)
<font size="6">
<ol> {{$user->name}}
{{$user->lname}}</font><br>
@endforeach
我使用的路线如下
Route::get('/pdfs','pdfGenerator@reportPdf');
Route::get('/reports','pdfGenerator@report');
将
$users
变量作为第二个参数传递给view
。
public function reportPdf()
{
$users = DB::table('users')->get();
$pdf = PDF::loadview('reports', ['users' => $users]);
return $pdf->download('report.pdf');
}