gpt4 book ai didi

laravel - 在 Laravel 中更改查询参数时重定向到当前 URL

转载 作者:行者123 更新时间:2023-12-02 16:37:31 25 4
gpt4 key购买 nike

有没有内置的方法可以做这样的事情?

假设我有一个搜索页面,其 URL 中有一些参数:

example.com/search?term=foo&type=user

该页面上的链接将重定向到 typelink 的 URL。我正在寻找一种无需手动构建 URL 即可完成此操作的方法。

编辑:
我可以像这样手动构建 URL:

$qs = http_build_query(array(
'term' => Input::get('term'),
'type' => Input::get('type')
));
$url = URL::to('search?'.$qs);

但是,我想知道 Laravel 中是否有更好的内置方法来执行此操作,因为当我想要更改其中一个值时,代码会变得更加困惑。

为 URL 生成器提供第二个参数 ($parameters) 将它们作为段添加到 URL,而不是在查询字符串中。

最佳答案

您可以使用 URL 生成器来完成此操作。假设搜索是一个命名路由:

$queryToAdd = array('type' => 'user');
$currentQuery = Input::query();

// Merge our new query parameters into the current query string
$query = array_merge($queryToAdd, $currentQuery);

// Redirect to our route with the new query string
return Redirect::route('search', $query);

Laravel 将从传递的数组中取出位置参数(这似乎不适用于此场景),并将其余部分作为查询字符串附加到生成的 URL。

参见:URLGenerator::route() , URLGenerator::replaceRouteParameters() URLGenerator::getRouteQueryString()

关于laravel - 在 Laravel 中更改查询参数时重定向到当前 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21650119/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com