我需要一些关于让我在Laravel 5.2上疯狂的主题的帮助
我有以下routes.php,我已将其减少到最低限度:
use Illuminate\Http\Request;
/**
* Category Page
*/
Route::get('/category/test/', function()
{
dd("I'm in !");
dd(Input::all());
$page = Input::get('page');
if(isset($page)){
dd($page);
}
}
当我调用以下网址:http://192.168.99.100/category/test?page=55时,我希望在输入或请求中获取参数页面,但它始终为空。以下代码只显示“我在!”但没有别的。
你能帮我理解这里的错误吗?我之前使用过控制器和Request参数,但它也是空的,因此这个简单的测试。请注意,帖子请求工作正常。
谢谢!
答案 0 :(得分:1)
您可以同时使用两者,实际上代码中没有错误,除非您错过了Input
外观的使用声明。
use Illuminate\Http\Request;
/**
* Category Page
*/
Route::get('/category/test/', function()
{
dd(Input::all());
dd("I'm in !");
$page = Input::get('page');
if(isset($page)){
dd($page);
}
}
所以问题是为什么你什么都没得到!因为路由是GET请求所以如果你发布/更新/修补任何东西,你将获得methodNotAllowed异常。现在只需转到您的浏览器并输入http://whateverdomain/category/test/?page=atiq&have=fun
,现在就有了.........
Route::get('/category/test/', function(Request $request)
{
$input=$request->All();
dd($input);
$page = request->get('page');
if(isset($page)){
dd($page, request->get('have'));
}
}
答案 1 :(得分:1)
我终于找到了它!
这是我的nginx配置中的一个问题,它阻止了PHP变量QUERY_STRING的正确设置,Laravel正在以此变量为基础来检索数据。
有关详细信息,请参阅https://serverfault.com/questions/231578/nginx-php-fpm-where-are-my-get-params/362924#362924
无论如何都会得到你的答案!
答案 2 :(得分:0)
因为你没有告诉函数期待请求
应该是
Route::get('/category/test/', function(Request $Request)
{
$input=$Request->All();
dd($input);
// usage $input['query'];
$page = Input::get('page');
if(isset($page)){
dd($page);
}
}