我想收到像这样的GET请求:
people.php名称=乔&安培;年龄= 24
为此,我定义了以下路线:
Route::get('people.php?name={username}&age={id}', array(
'as' => 'people/username/age',
'uses' => 'ExtraController@xfunction',
));
但这似乎不起作用。
如何定义此路线?
答案 0 :(得分:2)
Laravel不支持查询字符串路由。
创建常规路由,然后从Input
facade:
Route::get('people.php', array(
'as' => 'people/username/age',
'uses' => 'ExtraController@xfunction',
));
public function xfunction()
{
$username = Input::get('name');
$age = Input::get('age');
}
答案 1 :(得分:0)
约瑟夫上面说的正是如此。但是我想添加一个注释,应该始终在控制器方法中处理所有查询。我相信你知道,但最好的做法显然是不要在路线之外包含任何逻辑。
与Laravel一样,您也可以使用可选变量,而不是查询。
因此,而不是/ test /?name = Jonathan,您可以使用/ test / {name?}然后您可以将其视为/ test /或/ test / Jonathan,但在控制器方法中,您必须使用< / p>
public function ( $name = null; )
{
dd($name);
}