切换CDataColumn的'value'里面的case

时间:2014-10-21 06:00:22

标签: php yii

有没有人知道如何在CGridView列字段中显示开关/案例值?

我在数据库中输入了类型'图片''视频''音频''绘图&#39 ;,在CGridView中,我想显示文本而不是1,2,3,4。

我在网上发现了这个,但这只适用于2个值,我需要4个,

array(
  'name'=>'column_name',
  'type'=>'HTML',
  'value'=>'($data->gender=="1")?"Male":"Female"',
),

任何想法都会很棒!

2 个答案:

答案 0 :(得分:2)

array(
  'name'=>'column_name',
  'type'=>'HTML',
  'value'=>function($data){
      $result = 'unknown';
      //($data->gender=="1")?"Male":"Female"
      switch($data->gender)
     {
       case 'male':
       $result = 'this was male';
       break;
     }
     return $result;
   },
),

答案 1 :(得分:1)

您可以调用函数来确定值。

'value'=>array($this,'getData')

在您的控制器中,创建一个名为getData

的函数
public function getData($data,$row){
 switch($data['gender']){
  <your codes here to return the result>
 }
}