[英]pass multiple parameters to controller from route in laravel5
我想在laravel5中將多個參數從路由傳遞到控制器。
即,我的路線是
Route::get('quotations/pdf/{id}/{is_print}', 'QuotationController@generatePDF');
我的控制器是
public function generatePDF($id, $is_print = false) {
$data = array(
'invoice' => Invoice::findOrFail($id),
'company' => Company::firstOrFail()
);
$html = view('pdf_view.invoice', $data)->render();
if ($is_print) {
return $this->pdf->load($html)->show();
}
$this->pdf->filename($data['invoice']->invoice_number . ".pdf");
return $this->pdf->load($html)->download();
}
如果用戶要下載PDF
,則URL
將如下所示,
/invoices/pdf/26
如果用戶要打印PDF
, URL
將是這樣,
/invoices/pdf/26/print or /invoices/print/26
laravel5中可能如何?
首先,您的路線或示例中的網址無效,在一個地方使用quotations
而在其他invoices
通常,您不想重復執行相同操作的url,但如果確實需要,則需要創建額外的路由:
Route::get('invoices/print/{id}', 'QuotationController@generatePDF2');
並在控制器中添加新方法
public function generatePDF2($id) {
return $this->generatePDF($id, true);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.