我有一个搜索过滤器,其中包含最小和最大价格(货币转换器)的值,我想在同一页面上更改货币的价值,当我在价格输入不会改变时运行它我已经用分页链接更改了页面。
我在视图上附加这样的价格(来自控制器的$ max_price):
{!! Form::text('max_price',(int)$max_price,array('class'=>'sliderValue')) !!}
查询网址字符串:
www.example.com/items?search=min_price=0&max_price=1814
$items->setPath('items');
$items->appends(['search' => $input['search'], 'min_price' =>
$min_price, 'max_price' => $max_price]);
使用$ request-> replace($ requestArray)
解决了这个问题答案 0 :(得分:0)
我无法使用replace()
解析它,因为当我从$request->get('search')
获取值时,它返回了来自queryString的原始值...
我做了什么:
use Symfony\Component\HttpFoundation\ParameterBag;
$oldQueryString = $this->request->query->all(); // To not lose other params
$params = [
'search' => $input['search'],
'min_price' => min_price,
'max_price' => $max_price
];
// Merge other params to the new ones
$newQueryString = array_merge($oldQueryString, $params);
$request->query = new ParameterBag($newQueryString);
现在,当我使用$request->get('search')
时,它会返回新值。