【问题标题】:Error "Trying to get property 'pertanyaan' of non-object" on Dompdf Laravel 5.8Dompdf Laravel 5.8 上的错误“尝试获取非对象的属性 'pertanyaan'”
【发布时间】:2019-03-30 03:03:47
【问题描述】:

我有一个视图,我想要一个下载 PDF 的链接。

查看

<div class="col-lg-12 col-xs-12">
    <div class="box">
        <a href="{{ route('pdf',['download'=>'pdf']) }}">Download PDF</a>
        <div class="box-header">
            <div style="text-align:center"><h3 class="box-title">PEMELIHARAAN DAN PERAWATAN ALAT UJI </h3></div>
            <div style="text-align:center">Jln. Kabupaten Sragen</div>
        </div>

        <p> Laporan : {{ $pemeliharaan->status }} </p>
        <p> Tanggal : {{ $pemeliharaan->created_at }} </p>
        <p> Jenis Alat : {{ $pemeliharaan->alat->nama_alat }} </p>
        <p> User : {{ $pemeliharaan->user->name }} </p>

        <div class="box">
            <div class="box-header">
                <h3 class="box-title"></h3>
            </div>
            <div class="box-body no-padding">
                <table class="table table-condensed">
                    <tbody>
                    <tr>
                        <th style="width: 10px">#</th>
                        <th>Pertanyaan</th>
                        <th>Hasil</th>
                    </tr>
                    <tr>
                        <td>1.</td>
                        <td>{{ $pemeliharaan->pertanyaan['question1'] }}</td>
                        <td>{{ $pemeliharaan->pertanyaan['answer1'] }}</td>
                    </tr>
                    <tr>
                        <td>2.</td>
                        <td>{{ $pemeliharaan->pertanyaan['question2'] }}</td>
                        <td>{{ $pemeliharaan->pertanyaan['answer2'] }}</td>
                    </tr>
                    </tbody>
                </table>
            </div>
        </div>
    </div>
</div>

“下载”链接有错误。

只显示 404

控制器

public function showQuestion(Request $request, $id)
{
    $pemeliharaan = Pemeliharaan::findOrFail($id);
    $pemeliharaan->pertanyaan = json_decode($pemeliharaan->pertanyaan, true);

    if ($request->has('download')) {
        $pdf = PDF::loadView('users.view_question', $pemeliharaan);

        return $pdf->download('view_question.pdf');
    }

    return view('users.view_question', compact('pemeliharaan'));
}

路线

Route::get('/user/show/question/pdf/{id}','userController@showQuestion')->name('pdf');
Route::get('user/show/question/{id}', 'userController@showQuestion')->name('usershowQuestion');

有人可以帮我下载代码吗?

【问题讨论】:

    标签: laravel dompdf laravel-5.8


    【解决方案1】:

    您没有将 id 路由参数提供给命名路由“pdf”。这导致 $pemeliharaan = Pemeliharaan::find($id) 行产生 null 并随后出现错误。

    试试这个:

    {{ route('pdf', [ $id ] }}
    

    为了使其工作,您必须将变量$id 提供给视图。你可以这样做

    return view('your-view')->with([
        "id" => $id
    ]);
    

    【讨论】:

    • 在我的路线中,我用 id 声明我的 Url 并使用名称 'pdf' 保存 // Route::get('/user/show/question/pdf/{id}','userController@showQuestion ')->name('pdf');
    猜你喜欢
    • 1970-01-01
    • 2021-10-06
    • 1970-01-01
    • 2019-12-31
    • 2021-10-01
    • 1970-01-01
    • 2018-09-26
    • 1970-01-01
    • 2021-10-08
    相关资源
    最近更新 更多