TCPDF从数据库中获取值
问题描述:
我试图从数据库中获取值。我想获得id'17'的名字。 我使用Laravel 5.4和TCPDFTCPDF从数据库中获取值
这是我的控制器代码:
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
函数返回什么。
有可能没有特定ID的数据库记录。从你的错误,显然,结果不是对象(是数组?)。
使用var_dump($scan);
查看查找结果。
也许这样吗?
public function createpdf($id) {
$scan = Scan::find($id);
var_dump($scan);
if (!$scan) {
return; //or something
}
与模型结构问题可能的解决办法:
嘿,感谢您的回复。 var转储给我null。这是否意味着它无法找到我的ID? – itvba
我已经更新了我的答案,并提供了应该验证的可能解决方案的链接。 – tilz0R
感谢您的回答。我发现了'问题':如果你长时间在线,Laravel喜欢注销你。我一遍又一遍地刷新了不工作的页面。我决定再次登录,它的工作原理...感谢您的帮助寿! :) – itvba