TCPDF 从数据库中获取值

TCPDF get value from database

我正在尝试从数据库中获取值。我想获取 id '17' 的名称。 我正在使用 Laravel 5.4 和 Tcpdf

这是我的控制器代码:

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);

}

我得到的错误:Trying to get property of non-object

我该如何解决这个问题? foreach 不能解决问题..

首先检查 $scan 是否有效以及你的 find 函数是什么 return.

可能没有特定 ID 的数据库记录。从你的错误来看,很明显,结果不是对象(是数组吗?)。

使用var_dump($scan);检查查找结果。

也许像这样?

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

模型结构问题的可能解决方案:

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