如何将url中的id接收到控制器laravel 5.6中

时间:2018-06-15 14:03:03

标签: php laravel url id

我想使用pcdf库将特定数据打印成pdf,我正在这样做

public function downloadPDF($id){
    $invoices = invoice::all();
    $view=view('admin.invoices.pdf', compact('invoices'),compact('id',$id));
    $html_content =$view->render();
    PDF::SetTitle('asdss');
    PDF::AddPage();
    $lg = Array();
    $lg['a_meta_charset'] = 'UTF-8';
    $lg['a_meta_dir'] = 'rtl';
    $lg['a_meta_language'] = 'fa';
    $lg['w_page'] = 'page';
    PDF::SetFont('dejavusans', '', 12);
    PDF::setRTL(true);
    PDF::Ln();
    PDF::setLanguageArray($lg);
    PDF::writeHTML($html_content,true, 0, true, 0);
    PDF::Output('SamplePDF.pdf');
}

我想要打印的视图

@foreach($invoices as $invoice)
   @if($invoice->id === $id)
   <th scope="row">{{$invoice->id}}</th>
   <th scope="row">{{$invoice->title}}</th>
   <td><a href="/admin/invoices/{{$invoice->id}}">{{$invoice->description}}</a></td>
   <td><a href="{{action('InvoiceController@downloadPDF', $invoice->id)}}">PDF</a></td>
   @endif
  @endforeach

最后我正在使用的路线

Route::resource('admin/invoices','InvoiceController');
Route::get('admin/invoices/pdf/{id}','InvoiceController@downloadPDF');

现在当我预览发票的show功能时,我得到这个网址

http://localhost:8000/admin/invoices/2

我想如何能够通过最后一部分,这是发票的id,这里是2例如下载PDF功能在if语句中将该特定发票打印成pdf ofc如果整个逻辑错误则是如果你引导我更好的逻辑,那就很高兴。感谢

0 个答案:

没有答案