我正在使用GridView::widget
,当我在gridview内的搜索框中输入任何内容时,它会创建以下网址:
/v2/backend/web/index.php/agency/index?AgencySearch%5Bgovt_name%5D=&AgencySearch%5Bcity%5D=&AgencySearch%5Bmember_id%5D=22
现在我需要将这些参数传递给GridView状态列下的状态图标内的url。
echo Url::to(['agency/change-status', 'id' => 33, 'set' => 11, Yii::$app->request->getQueryParams()]);
以上代码正在创建网址,如下所示:
/v2/backend/web/index.php/agency/33/change-status/11?1%5BAgencySearch%5D%5Bgovt_name%5D=&1%5BAgencySearch%5D%5Bcity%5D=&1%5BAgencySearch%5D%5Bmember_id%5D=22
这是有道理的,因为Yii::$app->request->getQueryParams()
是一个数组。请注意网址1
change-status/11?1%5BAgencySearch
是否有任何最简单的Yii方法可以实现我的需要,而不是根据Yii::$app->request->getQueryParams()
修改Url::to()
字符串。
我正在尝试传递参数,以便在状态更改pjax请求后再次在网格上加载内容时保持gridview的状态。
答案 0 :(得分:2)
使用array_merge组合您的路线和参数以及搜索参数。
$params = array_merge(['agency/change-status', 'id' => 33, 'set' => 11], Yii::$app->request->getQueryParams());
echo Url::to($params);