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