如何在 guzzle 查询构建期间将 "pipe" 添加到 get 参数中

How to add a "pipe" into a get parameter during guzzle query building

我使用的 api 有一个 "range" 参数,可以应用于多个不同的参数项。我关注的范围是 "price"。我在 laravel 中使用 guzzle,根据 api 文档,针对此特定参数的查询应该这样写:“&range_facet=price|500|2500|250”。 ..这被分解为价格范围参数的最小值、最大值和区间值。这对这个问题不一定重要。当我按原样尝试 运行 这个查询时,我没有得到任何返回。当我删除该特定参数时,我得到了值,但显然它们没有按照我希望的方式进行过滤。当我在 Insomnia 运行 this 时,管道被“%7C”替换,这显然(显然?)没有被 api 解释,因为它不是等待 GET 请求的方式.我怎样才能将管道插入查询,以便它调用正确的方式?

我尝试创建一个额外的嵌套数组,将价格值分解成键值对,但这也没有用。

'range_facets' => ['price'['start'=>'500', end=>'2500', 'interval'=>'250']],
$client = new Client();
      $result = $client->request('GET', "http://api.example.com", [
    'headers' => [
        'Host' => 'example-host',
        'Content-Type'     => 'application/json'
    ],
    'query' => [
      'api_key' => 'my_api_key',
      'range_facets' => 'price|500|2500|250',
      'year' => $year,
      'latitude' => '30.170222',
      'longitude' => '92.01320199',
      'radius' => 500,
      'start' => 0,
      'rows' => 50
    ]
]);

我想过滤我的价格,但我需要管道才能做到这一点。

这正是它应该的样子。 %7C 应在服务器端自动解码为 | (about query string encoding)。

我敢打赌问题出在不同的地方。