2017-07-12 24 views
0

パラメータを渡すリンクをブレードに提供しました。LaravelブレードからコントローラにURLパラメータを取得

<a href="{!! route('search',['id'=>2]) !!}">{{$value}}</a> 

ここで唯一の問題は、コントローラにパラメータを取得する方法です。 私はこの

public function search(Request $request){ 
    $sid = $request->get('id'); 
} 

のようにそれを行うしかし、私は$のSIDから任意の値を取得していませんよ。私はどうすればいいのですか?

申し訳ありません申し訳ありませんが、すでに経路が設定されています。

Route::post('search', '[email protected]')->name('search'); 
+0

私はあなたがこのパブリック関数検索(リクエスト$要求は、$ ID){ $ SID = $ IDのように取得する必要があると思います。 } – JYoThI

+0

あなたのルートはpostメソッドですが、getメソッドとして値を取得しようとしています。私の答えを見て – JYoThI

答えて

0

リンクはメソッドを投稿していないので...これはあなたのルートで、その後

<a href="{!! route('search',['id'=>2]) !!}">{{$value}}</a> 

を働くだろう

Route::get('search/{id}',[email protected]); 

あなたのコントローラで

public function search(Request $request, $id) 
{ 
    $id = $id; 
} 
0

あなたのルートの場合/youroute/{id}この方式あなたが機能するために、URLバインドparameterを渡そうとし、この

public function search(Request $request,$id){ 
$sid = $id; 
} 
0

のようなコントローラーにあなたの方法に1つの以上のparamを渡す必要があります。 query文字列getを渡しません。あなたはidこの

方法のようにアクセスする必要がある1:

コントローラー:

public function search(Request $request,$id){ $sid = $id; } 

あなたのルートは、この

ルートのようにする必要があります:

Route::get('search/{id}',[email protected]); 

方法2:

またはURLにパラメータをバインドしたいと望んでいない場合だけで$ _GETパラメータurl/?id=1

あなたはこの

コントローラーのようにそれを使用することができますように:

public function search(Request $request){ 
    $sid = $request->get('id'); 
} 

Rout E:

Route::get('search',[email protected]); 
+0

方法2は私の現在のコードですが、コントローラ上の$ sidにはまだ値がないので混乱しています –

+0

Route :: post( 'search'、 'Search @ search ') - >名前(' search '); Route :: get( 'search'、 'Search @ search') - > name( 'search')のようにgetメソッドを変更します。 – JYoThI

関連する問題