TCPDF从数据库中获取值

I'm trying to get a value from the database. I want to get the name of id '17'. I'm using Laravel 5.4 and Tcpdf

This is my controller code:

public function createpdf($id) {

    $scan = Scan::find($id);    
    $pdf = new \TCPDF();

    $pdf->SetPrintHeader(false);
    $pdf->SetPrintFooter(false);
    $pdf->AddPage();
    $pdf->Text(90, 140, 'Test');

    $filename = storage_path() . $scan->name . '.pdf';



    $pdf->output($filename, 'F');

    return \Response::download($filename);

}

The error i get: Trying to get property of non-object

How do i fix this? A foreach doesn't do the trick..

First check if $scan is even valid and what does your find function return.

It is possible, that there is no DB record for specific ID. From your error, it is clearly, that result was not object (is it array?).

Use var_dump($scan); to inspect result of find.

Maybe like this?

public function createpdf($id) {
    $scan = Scan::find($id);
    var_dump($scan);
    if (!$scan) {
        return; //or something
    }

Possible solution with model structure problem:

Laravel Eloquent::Find() returning NULL with an existing ID