我尝试使用以下软件包导出刀片视图:https://github.com/barryvdh/laravel-dompdf
但我收到错误array_merge(): Argument #2 is not an array
这是我的控制器:
public function ExportPDF($licencie)
{
$pdf = PDF::loadView('licencie_structure.show', $licencie);
return $pdf->download('invoice.pdf');
}
这是我的路线:
Route::get('/export/pdf/{licencie}',
[
'as' => 'export.pdf',
'uses' => 'LicencieStructureController@ExportPDF'
]);
在这里我的观点:
<div class="row">
<div class="col-lg-8">
<div class="box box-info">
<div class="box-header">
<h3 class="box-title">Fiche Licencie N° {{$licencie->num_licence}}</h3>
</div>
<div class="box-body">
<div class="pull-right"><img src="http://localhost/adminlte/public/uploads/{{$licencie->lb_photo}}" class="img-thumbnail" style="width: 250px; height: 250px; margin-right: 50px"></div>
<p>Statut : {{$licencie->statut_licence->lb_statut}} <a href="#" data-toggle="tooltip" title="Une licence peu possède un des trois status suivant : Gratuit , Non Payé , A Renouveller">?</a></p>
<p>Nom : {{$licencie->lb_nom}}</p>
<p>Prenom : {{$licencie->lb_prenom}}</p>
<p>Fonction : {{$licencie->activite_licencie->lb_activite}} </p>
<p>Date de naissance : {{$licencie->dt_naissance}}</p>
<p>Ville de naissance : {{$licencie->lb_ville_naissance}}</p>
<p>Code Postal : {{$licencie->cd_dept_naissance}} </p>
<p>Adresse Email : {{$licencie->adresse_email}} </p>
<p>Pays de naissance : {{$licencie->pays->fr}}</p>
<p>Licence Crée le : {{$licencie->created_at}}</p>
<p>Licence enregistré pour la Saison : {{$licencie->saison->lb_saison}}</p>
</div>
</div>
</div>
<div class="col-md-4">
<div class="box box-info">
<div class="box-header">
<h3 class="box-title">Actions</h3>
</div>
<div class="box-body">
{!! link_to_route('export.pdf', 'Export to PDF', [$licencie] , ['class' => 'btn btn-info'])!!}
</div>
</div>
</div>
有人知道我为什么会收到这个错误?非常感谢提前。
答案 0 :(得分:4)
问题是,您将ID
字符串传递给PDF::loadView()
方法。您首先需要获取许可对象。试试以下内容:
注意,我认为Licencie
是模型。如果没有,请更改该部分。
use App\Licencie;
public function ExportPDF($licencie)
{
$licencie = Licencie::find($licencie)->first();
$pdf = PDF::loadView('licencie_structure.show', compact('licencie'));
return $pdf->download('invoice.pdf');
}