具有多个参数的Laravel 5.2路由

时间:2016-06-11 17:41:37

标签: php laravel-5.2

更新:感谢下面的建议。当我直接从浏览器点击它时,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]) }}

2 个答案:

答案 0 :(得分:2)

问题出在我的路线定义中。我有另一条路线与我试图访问的路线相冲突。谢谢你的帮助!

正确的语法是:

route('my.route', [$var1, $var2, $var3])

答案 1 :(得分:0)

{{ route('my.route', ['p1' => $var1, 'p2' => $var2, 'p3' => $var3]) }}

以上是正确的。但我认为你不能将my.route用作路由名称,删除点并放置下划线。

或者只是将网址用作纯文本。 HREF =' /my.app /' {P 1} / {P2} / {P3}

请参阅此处https://laravel.com/docs/5.2/routing#named-routes