有没有办法将参数从没有通配符的路由传递给函数 例如,要访问查询字符串数据,我们需要添加通配符以路由
Route::post('reg/{param}','controller@func');
但我不想使用通配符或查询字符串。我想传递数据作为参数
答案 0 :(得分:0)
如果我理解你的问题:在你的控制器中你所要做的就是写下你的func
方法,如下所示:
public function func($param) {}
Laravel会自动将{param}
中的任何内容添加到$param
。因此,如果您发布到服务器http://server/reg/foo
,那么$param
将获得值“foo”。它不是变量的排序,而是变量的名称。因此,如果您将变量命名为{fooX}
,则会将其传递给名为$fooX
的控制器方法。
您可以添加多个变量:
Route::post('reg/{paramX}/{paramY}','controller@func');
并将您的方法定义为
public function func($paramX, $paramY) {}
答案 1 :(得分:0)
不,这就是Laravel路由器的工作原理。但您仍然可以从请求中访问它们。就像你可能在过去的全天变量$_GET
或$_POST
中完成的那样。
只需定义没有通配符的路线,如下所示:
Route::post('reg','controller@func');
在函数内使用$request->query('param_name');