Yii定制了CGridView undefined常量

时间:2013-03-14 16:04:48

标签: php yii cgridview

我是Yii的新手,我有以下代码,'columns'=>array( 'id', 'name', 'email', array( 'name' => 'deleted', 'value' => $model->deleted == 1 ? 'Yes' : 'No', ), 如果数据库中删除的字段等于1,我想显示YES,否则显示NO。 并且它一直给我一个PHP通知:使用未定义的常量是。 提前致谢。

修改 我的洞楔子

$this->widget('zii.widgets.grid.CGridView', array(
'id'=>'users-grid',
'dataProvider'=>$model->search(),
'filter'=>$model,
'columns'=>array(
    'id',
    'name',
    'email',
    array(
        'name' => 'deleted',


    ),
    /*
    'pass',
    'salt',

    'first',
    'last',
    'phone',
    'attempts',
    'locked',
    'gender',
    'birth',
    'joined',
    'updated',
    'active',
    'reset',
    'permission',
    'appress',
    'deleted',
    */
    array(
        'class'=>'CButtonColumn',
        'template'=>'{view}{ban}',
        'buttons' => array(
            'ban' => array
            (
            'label'=> 'Ban User',
            'url'=>'Yii::app()->createUrl("users/delete", array("id"=>$data->id))' ,

             'click'=>'function(){confirm("Are you sure you want to Ban this ?");}',
            ),
        )
    ),
),

));

2 个答案:

答案 0 :(得分:4)

试试这个

'columns'=>array(
    'id', 
    'name',
    'email',
    array(
        'name' => 'deleted', 
        'value' => '$data->deleted == 1 ? "Yes" : "No"',
     ),
)

或YII方式

'columns'=>array(
        'id', 
        'name',
        'email',
        'deleted:boolean'
    )

答案 1 :(得分:0)

value部分,您正在尝试指定是否$model->deleted! 如果是这种情况,那么在'?'

之前提供一个布尔表达式

假设删除的返回1表示true,否则返回false; EX:

'columns'=>array( 'id', 'name', 'email', array( 'name' => 'deleted', 
  'value' => $model- >deleted == 1 ? 'Yes' : 'No', ),