Selamlar, bu kodu kullanark pdf dosyaları üzerinde bir içerik eklemeye çalışıyorum , ve eklebiliyorum , sıkıntı kısmı şu, sadece birinci dosya güncelliyor.
idleri ve içerikleri tutuyorum ,sonra gönderiyorum bir foreach içinde, fakat kodum sadece birinci dosya.
data örneğin:
{
"ids": "[88, 89],
"details": [
{
"id": 88,
"details": "details 88"},
{
"id": 89,
"details": "details 89"
}
],
}
` public function pdfData(array $ids, array $details) {
foreach ($ids as $report_id) {
$report = ReportsModel::find($report_id);
if ($report) {
$report_detail = null;
foreach ($details as $detail) {
if ($detail['id'] == $report_id) {
$report_detail = $detail['details'];
break;
}
}
$pageResponseData = $report->data;
$reportModul = $report->modul;
$old_pdf = $report->data['data']['pdf'];
$pageResponseData = $this->listPdf($pageResponseData, $reportModul, $report_detail, $old_pdf);
// Update the database data
$report->data = $pageResponseData;
$report->save();
} else {
echo "Report record not found for ID: $report_id";
}
}
}
public function listPdf($pageResponseData, $reportModul, $report_detail, $old_pdf) {
$new_pdf = \PDF::loadView('list', ['data' => $pageResponseData['data'], 'modul' => $reportModul, 'details' => $report_detail ])
->setOption('enable-external-links', true)
->setOption('disable-smart-shrinking', false)
->setOption('margin-right', 5)
->setOption('margin-left', 5)
->setOption('margin-top', 5)
->setOption('margin-bottom', 5)
->setOrientation('portrait')
->setPaper('a4')
->setOption('page-size', 'A4');
// Store the new PDF
$new_pdf_filename = $reportModul . time() . '.pdf';
$new_pdf->save(storage_path('app/files/' . $new_pdf_filename));
// Update the data with the new file name
$pageResponseData['data']['pdf'] = $new_pdf_filename;
// Delete the old PDF
if (file_exists(storage_path('app/files/' . $old_pdf))) {
unlink(storage_path('app/files/' . $old_pdf));
}
return $pageResponseData;
}`