【发布时间】:2016-02-21 12:36:49
【问题描述】:
在 Laravel 中向 URL 添加查询字符串的最简单方法是什么?假设我有这样的路由资源
Route::get('/test', function() {
});
我可以通过一些参数来使 url 看起来像这样吗 /test?foo=bar
我是 Laravel 的超级新手,我真的不是在寻找花哨的东西。谢谢!
【问题讨论】:
标签: php laravel laravel-5 laravel-routing
在 Laravel 中向 URL 添加查询字符串的最简单方法是什么?假设我有这样的路由资源
Route::get('/test', function() {
});
我可以通过一些参数来使 url 看起来像这样吗 /test?foo=bar
我是 Laravel 的超级新手,我真的不是在寻找花哨的东西。谢谢!
【问题讨论】:
标签: php laravel laravel-5 laravel-routing
执行此操作的最简单方法是将查询字符串完全按照您建议的www.example.com/test?foo=bar 添加到 url。举个例子:
Route::get('test', function(){
return Input::get("foo");
});
这将返回bar。
只需使用Input::get() 从 URL 中检索参数。
您可以随意扩展它; www.exmaple.com/test?foo=bar&day=Monday&name=John 并在需要使用 Input::all() 时将其全部检索。打印出来会返回:
Array
(
[foo] => bar
[day] => Monday
[name] => John
)
更多关于Input函数的信息在这里:https://laravel.com/api/5.1/Illuminate/Support/Facades/Input.html#method_get
【讨论】:
使用/test/{foo} 为必填项,/test/{foo?} 为可选项
Route::get('/test/{foo}', function($foo) {
return "foo value is : ".$foo;
});
【讨论】:
您从请求对象中获取查询字符串值:
Route::get('test', function () {
$foo = request('foo'); // $foo is now 'bar' or null
});
【讨论】: