Хорошо, поэтому, если я правильно понимаю, вы хотите, чтобы только последняя карта отображалась в pdf?
Дело в том, что вы объявляете $data
внутри if
внутри for
петля.Таким образом, переменная $data
недоступна за ее пределами.Кроме того, если бы не цикл if
, цикл for
каждый раз переназначал бы переменную.Я также думаю, что вы должны использовать методы Eloquent.И почему вы выбираете все карты, когда собираетесь использовать только последнюю?
Кратчайшее решение, если нужен только последний элемент:
$cards = Card::latest()->first();
$data = [
'image'=>'images/patient2.jpg',
'qrcode'=>"generated_qrcodes/{$card->cin}.png",
'nom'=>$card->nom,
'cin'=>$card->cin,
'prenom'=>$card->prenom,
'dateNaissance'=>$card->dateNaissance,
'dateAffection'=>$card->dateaffection
];
$pdf = PDF::loadView('cards.cardPdf', $data);
return $pdf->download('card.pdf');