如何使用GET查询参数在Laravel中创建路由

时间:2017-01-13 18:08:53

标签: laravel laravel-5

如何使用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错误!

但是,我可以为它创建网址。 e.g。

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

我遇到的另一个问题是生成网址不会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"

因此我的问题是如何在Laravel中创建一个涉及GET查询参数的路由。

1 个答案:

答案 0 :(得分:1)

将路线更改为:

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

然后将参数添加为关联数组:

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

使用以下命令获取控制器中的参数:

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