Php Yii自定义搜索组合框

Php Yii自定义搜索组合框,php,yii,Php,Yii,我在数据库中有一个可存储0或1的归档状态。0=不活动,1=活动。当我在yii,admin.php文件中创建combobox时,它会正确搜索,但combobox中显示的文本是0和1,但我希望在Active和Active中看到,但在选项值中它应该是0和1。 这是我的密码。。。 $this->widget('zii.widgets.grid.CGridView', array( 'id'=>'cities-grid', 'dataProvider'=>$model->sear

我在数据库中有一个可存储0或1的归档状态。0=不活动,1=活动。当我在yii,admin.php文件中创建combobox时,它会正确搜索,但combobox中显示的文本是0和1,但我希望在Active和Active中看到,但在选项值中它应该是0和1。 这是我的密码。。。
 $this->widget('zii.widgets.grid.CGridView', array(
'id'=>'cities-grid',
'dataProvider'=>$model->search(),
'filter'=>$model,
'columns'=>array(
'id',
'country.countryname'=>array('name'=>'countryid', 'value'=>'$data->country->countryname', 'filter'=>CHtml::listData(Countries::model()->findAll(array('order'=>'countryname')), 'id', 'countryname')),

'cityname',
'citycode',
'citystatus'=>array('name'=>'citystatus', 'value'=>'$data->setCityStatus() . $data->getCityStatus($data->citystatus)', 'filter'=>CHtml::listData(Cities::model()->findAll(array()), 'citystatus', 'citystatus')),
'citycoords',

array(
'class'=>'CButtonColumn',
'template'=> ($iHasFullAccess == 1 ? '{view}{update}{delete}' :  '{view}') ,
),
),
)); 
?>

尝试更改CgridView列表中的citystatus选项,如下所示

'citystatus'=>array('name'=>'citystatus', 'value'=>'Cities::getCityStatus($data->citystatus)', 'filter'=>CHtml::listData(Cities::model()->findAll(array()), 'citystatus', 'citystatus')),
在城市模型中更改getCityStatus函数,如下所示

function getCityStatus($index){
  $status = array('Inactive','Active');
  return $status[$index];
}

在CGridView中,按如下方式配置列:

'citystatus'=>array(
   'name'=>'citystatus',
   'value'=>'$data->citystatus == 1 ? "Active" : "Inactive"', 
   'filter'=> array(0 => 'Inactive', 1 => 'Active')),
读完这篇文章:

如果是模型,请添加以下内容:

use yii\helpers\ArrayHelper;
use app\models\citystatus;
然后在数据网格中

>    'columns' => [
>         ['class' => 'yii\grid\SerialColumn'],
>         .....................,
>         [
>             'attribute' => 'deviceState',
>             'value' => 'deviceStateList.Description',
>             'label' => 'Device State',
>             'filter'=> ArrayHelper::map(Citystatus::find()->all(), 'RecordID', 'CityName'),
>         ],

HTH

粘贴包含组合框逻辑的yii代码查看查看查看代码…admin.php函数getCityStatus和setCityStatus我编写用于在模型中创建状态数组的代码这里是公共函数setCityStatus{$this->aCityStatus=array'in-Active',Active';}公共函数getCityStatus$iIndex{返回$this->aCityStatus[$iIndex];}谢谢,但我希望下拉列表中的值为Active和inactive,这是主要问题,搜索组合框显示值1和0,但我希望看到字符串值。然后你必须在模型中创建自定义函数,修改findAll数组,然后传递到listdata请回答这也是一个封闭的问题,没有人可以回答,你为什么不回答为这个问题选择一个答案?这个问题没有答案,请告诉我如果你知道我只是把我的答案说得更清楚,让我知道它不起作用