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: