2016-10-03 2 views
1

Laravel에서 URL을 통해 매개 변수를 전달하는 방법을 이해하려고합니다.폼에서 컨트롤러 Laravel로 매개 변수 전달

내 경우에는 데이터베이스 테이블에서 n 개의 데이터를 가져 오는 홈 페이지 (/) (HomeController @ get__home 및 view home)가 있습니다. 사용자는 그 중 하나를 선택하고 다음 페이지로 이동할 수 있습니다.

두 번째 URL 페이지/{첫 페이지에서 PARAM}/로그인

필드 {첫 번째 페이지에서 PARAM}입니다 첫 페이지 (물론)에서 유래와 선택 된 기록에 따라 달라집니다.

나는 this을 읽었지 만 나는 방해 받고 있다고 생각합니다.

url에 매개 변수를 전달할 수있는 방법을 찾을 수 없습니다.

Route::get("/", "[email protected]"); 
Route::get("/{position}/login", "[email protected]"); 

및 컨트롤러에서 : 내 Route.php에서

class HomeController extends Controller 
{ 
    public function home(){ 

     $foos = Foo::all(); 

     return view('home')->with('foos',$foos); 
    } 
} 

class LoginController extends Controller 
{ 
    public function login(Foo $foo) 
    { 
    return view('login'); 
    } 
} 

및 home.blade.php에서 당신이 양식을 사용하고 있기 때문에

<form class="" action="{{action([email protected])}}" method="post"> 
... 

답변

3

post 메소드를 사용하면 다음과 같이 경로를 정의해야합니다.

그리고 양식 조치에 전화 :

<form action="{{action('[email protected]')}}" method="post"> 
    <select name="position"> 
     <option value="1">Position 1</option> 
     <option value="2">Position 2</option> 
    </select> 
... 

다음, 컨트롤러, 당신이 요청의 옵션을 얻을 수 있습니다 :이 도움이

class LoginController extends Controller 
{ 
    public function login(Request $request) 
    { 
     $position = $request->position; 
     return view('login'); 
    } 
} 

희망을 ...