我正在尝试创建一个指向www.website.com/account/payments?status=verified
这是代码
<a href="{{ url('account/payments', ['status' => 'verified']) }}">Verified</a>
但是上面的内容引导我www.website.com/account/payments/verified
有没有办法在不使用控制器的情况下实现我的目标?
答案 0 :(得分:2)
url()
和route()
之间在第二个(数组)参数方面存在差异。使用后者,当status
未被定义为路径参数时,您的函数调用将按预期工作;它将它作为查询字符串粘贴到路径上。
// in routes file
Route::get('account/payments', 'Controller@method')->name('account.payments');
route('account.payments', ['status' => 'verified']);
// www.website.com/account/payments?status=verified
url()
函数只是将第二个参数的所有元素附加到提供的路径而不是查询字符串。不过,可以定义内联查询字符串:
url('account/payments?status=verified')
// www.website.com/account/payments?status=verified
这是另一个看url()
如何处理第二个参数的例子。它只是插入&#34; extra&#34;路段:
url('account/payments?status=verified', ['bar'])
// www.website.com/account/payments/bar?status=verified