2013-03-14 104 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