我无法使用 McCarlosen/Laravel-mpdf 包获取对象数据传递给 Blade 模板。我们的愿望是传递单行数据库记录,但对页面的调用遇到错误 - “未定义变量 $agency”
目标刀片数据语法正确如下 -
{{ $agency->id }}
每个存储库的说明如下 -
use PDF;
class ReportController extends Controller
{
public function viewPdf()
{
$data = [
'foo' => 'bar'
];
$pdf = PDF::loadView('pdf.document', $data);
return $pdf->stream('document.pdf');
}
}
在我的控制器中,我毫无失败地调用对象,毫无失败地抓取数据,并且在没有数据的情况下正确地传输 pdf(全部经过测试)。但是,当 $agency 根据上面的示例(按照常见的 Laravel 语法)链接时,它会失败。我相信这可能是 Laravel 对象中数据嵌套结构的次要因素。但不确定。我的控制器功能如下。
public function print(string $id) {
// Read a single row of data in the Model
$agency = Agency::find($id);
// Redirect to the view with the data
$pdf = PDF::loadView('modules.agencyMain.print',$agency);
return $pdf->stream('agency.pdf');
}
寻找指导/答案。
机构必须是传递数据中的关键:
$pdf = PDF::loadView('modules.agencyMain.print', ['agency' => $agency]);
就像在普通 Blade 模板中所做的那样:https://laravel.com/docs/10.x/blade#displaying-data