2013-03-14 103 views
0

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

EDIT 我孔wedgit

$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 ?");}', 
      ), 
     ) 
    ), 
), 

));

+0

我想你应该使用[$的数据,而不是$模式(HTTP:// WWW。 yiiframework.com/doc/api/1.1/CDataColumn#value-detail),但仍然不能解释你看到的错误信息 – ernie 2013-03-14 16:55:43

回答

4

试试这个

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

或谊路

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

第一个解决方案完美地工作非常感谢你 – Ihab 2013-03-14 19:18:29

0

value部分,您试图指定是否$model->deleted! 如果是这样的话,那么前'?'

提供一个布尔表达式假设为真,否则为假已删除的返回1; EX:

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

我有一个小的错字,但你的解决方案不工作,不幸的是 – Ihab 2013-03-14 16:23:53

+0

它的工作原理现在。您对这个问题的解决方案是否有利于社区?如果是的话,你可以发布吗? :) – devBinnooh 2013-03-14 16:31:16

+0

:(不,它没有工作,它仍然给了我同样的错误! – Ihab 2013-03-14 16:43:10