小编Meg*_*orm的帖子

Laravel 5路由中的多个可选参数

我对Laravel 5有问题,确切地说,我找不到解决方案。在C#(ASP.NET MVC)中,它很容易解决。例如,我有这些路由(为简单起见,我只键入路由内容和函数标头)

/{category}/Page{page}
/Page{page}
/{category}
Run Code Online (Sandbox Code Playgroud)

该功能在产品控制器中定义。函数头看起来像这样:

public function list($page = 1, $category = null)
Run Code Online (Sandbox Code Playgroud)

问题是,每当我仅输入一个参数时,它都不会按照我在路由中设置的名称发送参数的值,而是按功能参数的顺序推送值。因此,当我打开/ Page1时,它可以正常工作,将值1发送到$ page变量,但是当我访问/ Golf(当场创建)时,它也会将该值发送到$ page变量。有什么可能的主意如何避免这种情况,还是我真的需要提供不同的功能来处理这些情况?

在C#中,它将正确发送该值,并保留未定义参数的默认值。

希望你对我有一个答案。在此先感谢您,祝您愉快:)

php parameters model-view-controller routes laravel-5.4

3
推荐指数
1
解决办法
5262
查看次数