2016-10-26 6 views
1

Laravel 5.2에서 약간의 라우팅 문제가 있습니다. 인사에 대한 자세한 정보를 보여주는 결과 페이지가 있습니다. 활성화 된 경우 PDF 페이지를 생성하는 버튼이 필요합니다. 변수를 전달하는 것은 문제가되었지만 지금은 매우 가깝습니다! 내가 정교하게 제 코드를 공개 할 것입니다.단추에서 컨트롤러로 변수 전달 Laravel

나는 배열 ($ id_array)를 사용하고 결과 페이지에

결과 페이지

<form action="generatePDFpage" method="get"> 
     <button type="submit" class="btn btn-default">Generate PDF!</button> 
</form> 

routes.php

Route::get('/dashboard/result/generatePDFpage', '[email protected]'); 

GeneratePDFc 컨트롤러

public function GeneratePDFc(){ 

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

그래서, 검색하기 일치하는 레코드에 대한 데이터베이스. 이 변수를 GeneratePDFc 컨트롤러에 전달해야하므로 loadView 함수에 다시 전달할 수 있습니다!

누군가 나를 도울 수 있습니까? :-) 당신이 get 방법을 사용 할 때

답변

3

, 당신이 할 수있는 그냥이 :

<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> 
:이 같은 (이 하나가 DELETE 방법입니다)를 사용할 수있는 다른 방법에 대한

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

는 변수를 얻을 같은 것을 사용하려면

public function generatePDF(Request $request) 
{ 
    $someVariable = $request->someVariable; 
+0

두면를 사용하여 컨트롤러의 변수에 액세스,이 있습니다. 하지만 컨트롤러에서 변수를 호출하려면 어떻게해야합니까? –

+0

@AnnaJeanine, GET을 위해, 매개 변수가있는 라우트를 작성한 후 전달하고'function ($ parameter)'로 캐치해야합니다. 폼을 사용할 때 숨겨진 입력을 사용할 수 있습니다 (업데이트 된 코드보기). –

+0

코드를 설명해 주셔서 감사합니다. 나는 여전히 get 메소드를 사용하고 있지만 내 컨트롤러의 'someVariable'은 정의되지 않았습니다. 해결책을 알고 있습니까? –