使用laravel-dompdf导出PDF刀片视图

时间:2017-03-07 16:17:57

标签: laravel

我尝试使用以下软件包导出刀片视图: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>

有人知道我为什么会收到这个错误?非常感谢提前。

1 个答案:

答案 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');

}