Php 如何在Yii中动态设置CCheckbox的id?

Php 如何在Yii中动态设置CCheckbox的id?,php,yii,Php,Yii,我正在Yii中使用CCheckbox,但无法有条件地设置其id名称 $this->widget('zii.widgets.grid.CGridView', array( 'id'=>'task-grid', 'dataProvider'=>$model->search(), 'filter'=>$model, 'columns'=>array( 'task_name', 'task_descri

我正在Yii中使用
CCheckbox
,但无法有条件地设置其
id
名称

$this->widget('zii.widgets.grid.CGridView', array(
    'id'=>'task-grid',
    'dataProvider'=>$model->search(),
     'filter'=>$model,
    'columns'=>array(
        'task_name',
        'task_description',
        array(
            'header'=>'Close/Open',
            'id'=>'close_button',
            'class'=>'CCheckBoxColumn',
            'selectableRows' => '10',                
            'value'=>'$data->task_id',
            'checked'=>'$data->task_status == 0 ? false : true',
            'headerTemplate'=>'<label>{item}<span></span></label>',
            'htmlOptions'=>array('style'=>'width: 20px','class'=>'chandran'),
        ),
          ),
));

但它不起作用。如何修复此问题?

请尝试
'id'=>函数($data){$id=$data->task_status==0?“关闭_按钮”:“打开_按钮”;返回$id;}
谢谢您的回复,但它会给我错误,如substr()希望参数1为字符串,对象给定。什么是
$data->task_status
?例如,如果您将状态作为模型,并得到任务和状态之间的关系,则它可能是一个对象。
 'id'=>'$data->task_status == 0 ? "close_button": "open_button"',