【发布时间】:2016-01-18 08:24:32
【问题描述】:
我在从 URL 获取 GET 参数时遇到问题。
如果我有例如
http://domain.tld/route?page=2
并且比在控制器中我从 GET 中添加数据
dd(Input::all());
Laravel 返回是
array:1 [▼
"//route?page" => "2"
]
但应该是
array:1 [▼
"page" => "2"
]
问题存在于 Laravel 5.1 上 5.0 一切正常。
路线代码是
Route::get('/klub', ['as' => 'teamInfo', 'uses' => 'Game\Team\TeamController@index']);
控制器代码是
final public function index(Request $request)
{
$userTeam = UserCache::get('team');
if ($userTeam->id > 0)
return view('game.team.info')->with(['userTeam' => $userTeam]);
else {
//this is executing in my case
$proposals = Teams::proposals()->paginate(1);
return view('game.team.empty', ['teamLimits' => conf('team.php'), 'userTeam' => $userTeam, 'proposals' => $proposals]);
}
}
var_dump($_SERVER['QUERY_STRING']);
string(13) "//klub?page=2"
var_dump($_SERVER['REQUEST_URI']);
string(12) "/klub?page=2"
【问题讨论】:
-
有什么理由不使用 Request 对象?
$request->input('page')? -
@Pitchinnate 它返回的是相同的
-
那么需要查看更多代码,例如您的路由器和控制器中的功能可能会有所帮助。
-
@Pitchinnate 我从我的路由器和控制器添加直接代码,我想使用分页,并且 ?page 是从分页器生成但不起作用,仍然显示第一页并且 paginator->currentPage() 是返回 1 我认为这是这个获取参数问题
标签: php laravel laravel-5.1 laravel-routing url-parameters