2016-10-03 10 views
1

LaravelでURL経由でパラメータを渡す方法を理解しようとしています。フォームからコントローラへのパラメータを渡すLaravel

私のケースでは、データベーステーブルからn個のデータを取得するホームページ(/)(HomeController @ get__homeとview home)があります。 ユーザーは、それらのいずれかを選択して次のページに移動できます。

第URLページは、/ {最初のページからPARAM} /ログイン

フィールド{最初のページからPARAM}である最初のページ(もちろん)に由来し、選択したレコードに依存します。

私はthisを読んだことがありますが、私は邪魔にならないと思います。

URLにパラメータを渡す方法が見つかりません。私Route.phpで

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

とコントローラで:

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'); 
    } 
} 

は、この情報がお役に立てば幸いです...

関連する問題