我正在尝试创建一个指向 www.website.com/account/payments?status=verified
这是代码
<a href="{{ url('account/payments', ['status' => 'verified']) }}">Verified</a>
但是上述内容引导我访问www.website.com/account/payments/verified
有什么方法可以在不使用 Controller 的情况下实现我想要的效果吗?
最佳答案
在第二个(数组)参数方面,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()
如何处理第二个参数。它只是插入“额外”路径段:
url('account/payments?status=verified', ['bar'])
// www.website.com/account/payments/bar?status=verified
关于php - Laravel 添加请求到 url,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50888350/