我正在使用Laravel 5.2和包#34; barryvdh / laravel-dompdf"。我正在流式传输/查看视图文件:
$manu = Mmanufacturer::select('manName')->find($manuid);
$prds = compact('prds','images','temp_header','temp_footer');
return PDF::loadView('cp.reports.letters-pdf', $prds)->stream();
这会打开相应的视图,并且工作正常...查看图片: http://prntscr.com/dflj4d
在网址的末尾,如您所见' 43'这是默认的ID ..我想在最后显示的是制造商/产品或其他名称而不是它的ID ..我们能实现这个目标吗?
答案 0 :(得分:2)
您可以为视图pdf设置自定义路由,通过post方法发送参数。像:
Route::post('/manufacturer/product', 'ReportController@viewPdf');
如果您使用按钮,请使用以下方式:
<a href="#!" onclick="event.preventDefault();document.getElementById('viewPdf').submit();">View Pdf</a>
查看PDF表格
<form id="viewPdf" action="{{ url('/manufacturer/product') }}" method="POST" style="display: none;">
<input type="hidden" name="product_id" value="43">
{{ csrf_field() }}
</form>
在控制器中:
$manuid= $request->product_id;
$manu = Mmanufacturer::select('manName')->find($manuid);
$prds = compact('prds','images','temp_header','temp_footer');
return PDF::loadView('cp.reports.letters-pdf', $prds)->stream();
希望这个技巧会有所帮助。谢谢:)