Laravel 向 url 添加请求

Laravel Adding request to url

我正在尝试创建一个指向 www.website.com/account/payments?status=verified

的 link

这是代码

<a href="{{ url('account/payments', ['status' => 'verified']) }}">Verified</a>

然而以上是我www.website.com/account/payments/verified

有什么方法可以不使用控制器来实现我想要的效果吗?

关于第二个(数组)参数,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() 如何处理第二个参数。它仅插入 "extra" 路径段:

url('account/payments?status=verified', ['bar'])
// www.website.com/account/payments/bar?status=verified