【问题标题】:TCPDF get value from databaseTCPDF 从数据库中获取值
【发布时间】:2017-08-29 10:19:53
【问题描述】:

我正在尝试从数据库中获取一个值。我想得到 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 不能解决问题..

【问题讨论】:

    标签: php laravel tcpdf


    【解决方案1】:

    首先检查$scan 是否有效以及您的find 函数返回什么。

    可能没有特定 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

    【讨论】:

    • 您好,谢谢您的回复。 var转储给我null。这是否意味着它无法找到我的 id?
    • 我已经更新了我的答案,其中包含您应该验证的可能解决方案的链接。
    • 感谢您的回答。我发现了“问题”:如果你长时间在线,Laravel 喜欢让你退出。我一遍又一遍地刷新不工作的页面。我决定再次登录,它的工作原理......感谢您的帮助! :)
    猜你喜欢
    • 2019-02-16
    • 1970-01-01
    • 2015-08-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多