模型中:
public function rules()
{
return array(
array('id, title', 'safe', 'on'=>'search'),
);
}
public function relations()
{
return array(
'cat'=>array(self::BELONGS_TO, 'MyCategories', 'catid'),
'createdUser'=>array(self::BELONGS_TO, 'User', 'created_by'),
);
}
public function attributeLabels()
{
return array(
'cat.title'=>'Category',
'createdUser.name'=>'Created_by',
);
}
public function search()
{
$criteria = new CDbCriteria;
$criteria->compare('id', $this->id);
$criteria->compare('title', $this->title, true);
$criteria->compare('category', $this->cat->title, true);
return new CActiveDataProvider('MyContent', array(
'criteria'=>$criteria,
));
}
视图中:
<?php $this->widget(‘zii.widgets.grid.CGridView’, array(
'dataProvider'=>$model->search(),
'filter'=>$model,
'columns'=>array(
'id',
array(
'name'=>'title',
'type'=>'raw',
'value'=>'CHtml::link(CHtml::encode($data->title), '.'array("/business/article", "aid"=>$data->id), array("target"=>"_blank")'.')'
),
array(
'name'=>'cat.title',
'type'=>'raw',
'visible'=>true,
'value'=>'CHtml::link(CHtml::encode($data->cat->title), array("/business/classify", "catid"=>$data->cat->id), array("target"=>"_blank"))',
),
'createdUser.name',
array(
'name'=>'created',
'type'=>'datetime',
'filter'=>false,
),
array(
'class'=>'CButtonColumn',
),
),
)); ?>
=========
cat.title这个字段怎么让它出现filter过滤文本框?谢谢。。急啊。。。