更新:感谢以下建议。当我直接从浏览器点击该 URL 时,该 URL 工作正常。以下我认为正确的语法建议是:
{{ route('my.route', ['p1' => $var1, 'p2' => $var2, 'p3' => $var3]) }}
但是我可以在检查中看到这个问题被解决为:
http://my.url/theroute/var1?var2=xxx&var3=yyy
路由格式未正确生成,变量作为 URL 参数传递,而不是作为 URL 的一部分,如下所示:
http://my.app/var1/var2/var3
此外,我想使用命名路由,而不是对 URL 进行硬编码。如果我硬编码它,它工作正常。我错过了什么?谢谢!
我的 Laravel 应用程序中有一条如下所示的路线:
http://my.app/{p1}/{p2}/{p3}
该路由在路由列表中名为 my.route
。
在Blade
中我试图打开这条路线。我该怎么做呢。我尝试过,但没有成功:
{{ route(['my.route', $var1, $var2, $var3]) }}
还有
{{ route(['my.route', 'p1' => $var1, 'p2' => $var2, 'p3' => $var3]) }}
还有
{{ route('my.route', ['p1' => $var1, 'p2' => $var2, 'p3' => $var3]) }}
最佳答案
问题出在我的路线定义中。我有另一条路线与我尝试访问的路线相冲突。感谢您的帮助!
正确的语法是:
route('my.route', [$var1, $var2, $var3])
关于php - Laravel 5.2 具有多个参数的路由,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37766755/