Laravel在url字符串中更改get参数并返回

时间:2017-06-05 18:35:50

标签: php laravel laravel-5

我使用搜索过滤器的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方式"为此,我碰巧失踪了?

2 个答案:

答案 0 :(得分:12)

改为使用fullUrlWithQuery

echo $request->fullUrlWithQuery(['type' => 'anotherstring']);

答案 1 :(得分:0)

更糟糕的情况是:

 echo url()->current().(!empty($request->all())?"?":"").http_build_query($request->all());