我正在使用 yii-booster(4.0.1) TbGridView(extends CGridView) 并且需要更改 _REQUEST($_POST, $_GET) 中的过滤器变量名称以获得过滤器功能。在我的网格中,我有过滤器功能,当我在过滤器输入中输入一些单词后按 Enter 键时,将为服务器发送一个 ajax 请求。在 $_REQUEST 的这个请求中,我有:
array
(
'page' => '1'
'wsi_it_model_Asset' => array
(
'user' => 'eghlima'
'createdAt' => ''
'serial' => ''
'brand' => ''
'model' => ''
'assetType' => ''
'assigned' => ''
'location' => ''
'status' => ''
)
)
我的问题是如何在 CGridView 创建的请求中更改wsi_it_model_Asset。我知道在创建 dataProvider 时应该通过CActiveDataProvider中的参数来完成,但我找不到它。
提前致谢。
更新 1 月 24 日
我从另一个项目中找到了我的代码,如您所见,我可以更改key
forsort
和pagination
,我需要看起来像过滤键的东西;
return new \CActiveDataProvider($this->applicant, array(
'criteria' => $criteria,
'pagination' => array(
'pageVar' => 'p', // <<<<< pagination var
'pageSize' => 20,
),
'sort' => array(
'sortVar' => 's', // <<<<< sorting var
'defaultOrder' => 't.firstName ASC',
'attributes' => array(
'*'
)
),
));
因此,对于分页,从客户端发布到服务器的请求将是:
array
(
'p' => '7' // <<<<<< page changed to `p`
'wsi_it_model_Asset' => array
(
'user' => 'eghlima'
'createdAt' => ''
'serial' => ''
'brand' => ''
'model' => ''
'assetType' => ''
'assigned' => ''
'location' => ''
'status' => ''
)
)