Laravel 5条路线(耦合非必需参数)

时间:2018-10-09 11:50:02

标签: laravel controller routes

当动作具有两个不需要的参数时,我需要进行功能设置。

因此可以这样操作:

site/man/process/age/30/weight/80, 

site/man/process/age/30,

site/man/process/weight/80,

site/man/process/

我正在尝试使用这样的路线:

Route::get('man/process/age/{age?}/weight/{weight?}', 'ManController@process');

但是没有成功。有人知道如何正确执行此操作吗?

感谢您的帮助和建议。

3 个答案:

答案 0 :(得分:0)

我将采用完全不同的方法来通过路由参数传递这些变量。

考虑发送带有年龄和体重的POST请求,然后使用$ request-> all();在控制器中访问这些值。

编辑示例:

Route::post('man/process', 'ManController@process');

然后在您的控制器process()方法中:

process(Request $request)
{
  // Data in this case would contain age and weight
  $data = $request->all();
}

答案 1 :(得分:0)

Route::get('man/process', 'ManController@process');
URL : /man/process?age=10&weight=20

答案 2 :(得分:0)

您可以使用GET请求,并将参数作为查询字符串传递。

Route::get('man/process', 'ManController@process');
URL : /man/process?age=10&weight=20

或使用POST请求并传递您要接收的内容:

public function getData(Request $request)
{
  // Data in this case would contain age and weight
  $data = $request->all();
}