laravel8+snappyでpdfを連続ダウンロードする方法
解決したいこと
laravel8+snappyを使っています。
帳票pdfをブラウザーで表示やダウンロードするまではできましたが、
連続でダウンロードする方法があればご教授いただきたいです。
発生している問題・エラー
ループ処理で請求データを取得し、その都度、請求書を作成し、
PDFでダウンロードしようとするが、returnを実行した時点で
請求書が1枚目だけダウンロードして終了していまいます。
returnを入れているので当然なのですが、returnではなく、
変数に格納して結合してもエラーになります。
例えば請求書が10枚あった場合、10枚のPDFを一度にダウンロードする、
或いは、1枚ずつダウンロードするなど、処理をしたいと思っています。
※10枚分の請求データを全部取得して、帳票側(blade)でまわす方法もありますが、
既存ソースの改修が膨大になるため、1件ずつ取得しダウンロードする方法が
あればと思っております。
該当するソースコード
public function print_seikyusho()
{
foreach ($datas as $data) {
$seikyu_no = $data->seikyu_no;
// 請求データ取得
seikyus = $this->getSeikyuDt($seikyu_no);
$pdf = PDF::loadView('print.seikyusyo', compact(['seikyus']))
->setPaper('A4')
->setOption('encoding', 'utf-8');
return $pdf->download($seikyu_no.".pdf");
}
}
// 請求データ取得
public function getSeikyuDt($seikyu_no)
{
$sql = "select * from tbl_seikyu where seikyu_no = " . $seikyu_no;
$seikyus = DB::select($sql);
return $seikyus;
}