2017-01-13 12 views
1

GETクエリパラメータを使用してLaravelでルートを作成するにはどうすればよいですか。例えばGETクエリパラメータを使用してLaravelでルートを作成する方法

は考える:私はに移動した場合

Route::get('test?a={a}&b={b}', function ($a, $b) { 
    dump($a); 
    dump($b); 
    dd("DONE!"); 
})->name('foo'); 

は今:/test?a=5&b=10、私は404エラーを取得します!

ただし、URLを作成することができます。例えば

route('foo', [5, 10,]); // return "http://homestead.app/test?a=5&b=10" 

URLを生成するとクエリのパラメータがurl_encodeにならないという別の問題があります。例えば

route('foo', [5, '&c=10',]); // return "http://homestead.app/test?a=5&b=&c=10" 

私はそれを返すようにしたい:

"http://homestead.app/test?a=5&b=%26c%3D10" 

したがって、私の質問は、私がGETクエリパラメータを含むLaravelでルートを作成するにはどうすればよいです。そして、連想配列としてパラメータを追加

Route::get('test', function() { ... }); 

:へ

答えて

1

変更ルート

route('foo', [ 
    'a' => '5', 
    'b' => '&c=10' 
]); 

が持つコントローラのパラメータを取得:私の第二の問題を解決する

$a = request('a'); 
$b = request('b'); 
+0

を、しかし、 404号ではない –

+0

私はコードを更新しました。私はあなたがルート内のパラメータを取り除かなければならないのではないかと思います終わり。 –

+0

あなたのコードを編集しています。私はあなたがほとんどそれを持っていたと思う。 –

関連する問題