从按钮传递变量到控制器Laravel


Passing variable from button to controller Laravel

我在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函数!

有人能帮我一下吗?: -)

当您使用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;

我不知道Laravel,但我认为当你的action=""的形式,你可以把你的路由与它的参数没有?

我在这里找到了:https://laravel.com/docs/4.2/html#opening-a-form

使用$request var

访问控制器中的变量