我有一个用于课程模型的 CGridView 小部件
$this->widget('zii.widgets.grid.CGridView', array(
'id'=>'lesson-grid',
'dataProvider'=>$model->search(),
'filter'=>$model,
...并且课程与用户模型有关:
'user' => array(self::BELONGS_TO, 'User', 'user_id'),
...并且 CGridView 有一个列,其中包含上述 BELONGS_TO 模型中的用户姓氏
'columns'=>array(
...
array(
'name' => 'user',
'header'=>'Teacher',
'value' => '$data->user->lastname',
),
所以,我不能在本专栏中简单地使用 CGridView 进行搜索,但我需要它。
如何使用 CGridView 搜索“$data->user->secondname”?
我认为我应该在课程模型中扩展搜索方法,但是如何扩展呢?
现在看起来像这样:
public function search()
{
// Warning: Please modify the following code to remove attributes that
// should not be searched.
$criteria=new CDbCriteria;
$criteria->compare('id',$this->id);
$criteria->compare('student',$this->student,true);
$criteria->compare('comment',$this->comment,true);
return new CActiveDataProvider(get_class($this), array(
'criteria'=>$criteria,
));
}