TCPDF从数据库中获取值

时间:2017-04-04 09:35:21

标签: php laravel tcpdf

我试图从数据库中获取值。我想得到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并没有做到这一点..

1 个答案:

答案 0 :(得分:1)

首先检查$scan是否有效,以及find函数返回的内容。

可能没有特定ID的DB记录。从您的错误中可以看出,结果不是对象(是数组吗?)。

使用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