Yii 如何在CGridView中设置defalut值

Yii 如何在CGridView中设置defalut值,yii,cgridview,Yii,Cgridview,如果我的数据提供程序值中的$data->pic==”,如何设置默认值。将数据pic设置为na.jpg widget('zii.widgets.grid.CGridView', array( 'dataProvider'=>$dataProvider, 'columns'=>array( array( 'type'=>'raw', 'name'=>'pic', 'value'=>'CHtml::i

如果我的数据提供程序值中的
$data->pic==”
,如何设置默认值。将数据pic设置为
na.jpg

widget('zii.widgets.grid.CGridView', array(
    'dataProvider'=>$dataProvider,
    'columns'=>array(
    array(
        'type'=>'raw',
        'name'=>'pic',
        'value'=>'CHtml::image("http://localhost/studentpics/".$data->pic)',
    ),
));

value
作为php表达式计算,因此可以在其中使用条件

'value'=>'CHtml::image(($data->pic)?"http://localhost/studentpics/".$data->pic:"default_image_url")',

p.S到处使用绝对url是个坏主意。

我认为你可以覆盖CActiveRecord的afterFind方法

protected function afterFind()
{
 if($this->pic ===null)
   {
    $this->pic = na.jpg;
   }
  parent::afterFind();
}
protected function afterFind()
{
 if($this->pic ===null)
   {
    $this->pic = na.jpg;
   }
  parent::afterFind();
}