我在Laravel 5.2中遇到了一些路由问题。我有一个结果页面,显示有关人员的详细信息。我想要一个按钮,启用后会生成一个PDF页面。传递变量一直是个问题,但我现在非常接近!我将公开我的代码来详细说明。
结果页
<form action="generatePDFpage" method="get">
<button type="submit" class="btn btn-default">Generate PDF!</button>
</form>
routes.php文件
Route::get('/dashboard/result/generatePDFpage', 'resultController@GeneratePDFc');
GeneratePDFc控制器
public function GeneratePDFc(){
$id_array_implode = "HALLO";
$pdf= PDF::loadView('GeneratePDF', ["test"=>$id_array_implode])->setPaper('a4', 'landscape');
return $pdf->stream('invoice.pdf');
}
因此,在结果页面上,我使用数组($ id_array)在数据库中搜索匹配的记录。我需要将此变量传递给GeneratePDFc控制器,以便我可以再次将其传递给loadView函数!
有人可以帮帮我吗? :-)
答案 0 :(得分:5)
当您使用get
方法时,您可以这样做:
<a href="{{ route('route.name', $parameter) }}">
<button type="submit" class="btn btn-default">Generate PDF!</button>
</a>
对于其他方法,您可以使用类似的东西(这个用于DELETE
方法):
<form method="POST" action="{{ route('route.name', $parameter) }}" accept-charset="UTF-8">
<input name="_method" type="hidden" value="DELETE">
{{ csrf_field() }}
<button type="submit" class="btn btn-sm btn-default">Generate PDF!</button>
<input type="hidden" value="someVariable" />
</form>
要获得变量,请使用以下内容:
public function generatePDF(Request $request)
{
$someVariable = $request->someVariable;
答案 1 :(得分:0)
我不认识Laravel,但我认为在你的action=""
形式中你可以用你的参数设置你的路线吗?
我在这里找到了它:https://laravel.com/docs/4.2/html#opening-a-form
使用$request
var