Laravel 5.2 - 获取查询字符串

Laravel 5.2 - Get Query String

如何从 blade 模板中的 url 获取查询字符串?例如,如果我有以下查询字符串:

search?foo[]=1&foo[]=2&bar[]=1

我尝试将其附加到我的 blade 模板中的 link,如下所示:

<a href="/saved-search/create?{{ http_build_query(app('request')->query()) }}">
   Set up saved search
</a>

但这会通过包含数组索引编号生成查询字符串,如下所示:

foo[0]=1&foo[1]=2&bar[0]=1

如何根据原始 url 获取查询字符串?

你应该使用 getQueryString 方法。

<a href="/saved-search/create?{{ app('request')->getQueryString() }}">
   Set up saved search
</a>

它 returns 一个随时可用的 urlencoded 字符串:

string(35) "bar%5B%5D=1&foo%5B%5D=1&foo%5B%5D=2"

也总是可以使用默认的 PHP $_SERVER 数组:

var_dump($_SERVER['QUERY_STRING']);

>>> string(23) "foo[]=1&foo[]=2&bar[]=1"

试试这个

<a href="{{ url('/saved-search/create', app('request')->query()) }}">
      Set up saved search
</a>