我使用搜索过滤器的get参数,并且需要能够更改查询字符串变量的值并返回修改后的url(作为字符串变量,没有任何花哨,没有重定向或任何东西)。这就是我到目前为止所发生的事情:
public function index(Request $request){
echo $request->fullUrl();
// outputs https://test.com/search?type=somestring
$request->merge(['type' => 'anotherstring']);
echo $request->fullUrl();
// still outputs https://test.com/search?type=somestring
// is there a way to change a parameter value in the url and
// return the modified url string?
}
我认为如果情况变得更糟,我会手动解析字符串,但感觉就像是一种" laravel方式"为此,我碰巧失踪了?
答案 0 :(得分:12)
改为使用fullUrlWithQuery
。
echo $request->fullUrlWithQuery(['type' => 'anotherstring']);
答案 1 :(得分:0)
更糟糕的情况是:
echo url()->current().(!empty($request->all())?"?":"").http_build_query($request->all());