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

Ann*_*ine 1 php dompdf laravel laravel-5.2

我在Laravel 5.2中有一个路由问题。我有一个结果页面,其中显示有关人员的详细信息。我想要一个按钮,该按钮启用后会生成PDF页面。传递变量一直是个问题,但是我现在非常接近!我将公开我的代码以进行详细说明。

结果页

<form action="generatePDFpage" method="get">
      <button type="submit" class="btn btn-default">Generate PDF!</button>
</form>
Run Code Online (Sandbox Code Playgroud)

routes.php

Route::get('/dashboard/result/generatePDFpage', 'resultController@GeneratePDFc');
Run Code Online (Sandbox Code Playgroud)

生成PDFc控制器

    public function GeneratePDFc(){

        $id_array_implode = "HALLO";    
        $pdf= PDF::loadView('GeneratePDF', ["test"=>$id_array_implode])->setPaper('a4', 'landscape');    
        return $pdf->stream('invoice.pdf');
    }
Run Code Online (Sandbox Code Playgroud)

因此,在结果页面上,我正在使用数组($ id_array)在数据库中搜索匹配的记录。我需要将此变量传递给GeneratePDFc控制器,以便可以再次将其传递给loadView函数!

有人可以帮我吗?:-)

Ale*_*nin 6

使用getmethod时,您可以执行以下操作:

<a href="{{ route('route.name', $parameter) }}">
    <button type="submit" class="btn btn-default">Generate PDF!</button>
</a>
Run Code Online (Sandbox Code Playgroud)

对于其他方法,您可以使用类似以下的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>
Run Code Online (Sandbox Code Playgroud)

要获取变量,请使用如下代码:

public function generatePDF(Request $request)
{
    $someVariable = $request->someVariable;
Run Code Online (Sandbox Code Playgroud)