Есть вьюшка на CGridView
<?php
echo Chtml::form();
echo Chtml::submitButton(Yii::t("main", "Show"), array('name'=>'approve'));
echo Chtml::submitButton(Yii::t("main", "Hide"), array('name'=>'disapprove'));
?>
<?php $this->widget('zii.widgets.grid.CGridView', array(
'id'=>'comment-grid',
'dataProvider'=>$model->search(),
'filter'=>$model,
'columns'=>array(
array(
'class'=>'CCheckBoxColumn',
'id'=>'commentId',
),
'id'=>array(
'name'=>'id',
'headerHtmlOptions'=>array('width' => 20),
),
'status'=>array(
'name'=>'status',
'value'=>'($data->status==0)?Yii::t("main", "visible"):Yii::t("main", "blocked")',
'filter'=>array(1=>Yii::t("main", "blocked"),0=>Yii::t("main", "visible")),
),
'content'=>array(
'name'=>'content',
'filter'=>false,
'headerHtmlOptions'=>array('width' => 250),
),
'event_id'=>array(
'name'=>'event_id',
'value'=>'$data->event->title',
'filter'=>Page::allEvents(),
),
'created'=>array(
'name'=>'created',
'filter'=>false,
),
'user_id'=>array(
'name'=>'user_id',
'value'=>'($data->user_id)?$data->user->username:""',
'filter'=>User::allUsers(),
),
'guest',
array(
'class'=>'CButtonColumn',
'updateButtonOptions'=>array('style'=>'display:none'),
),
),
)); ?>
<?php
echo Chtml::endForm();
?>
Модель:
public function rules()
{
// NOTE: you should only define rules for those attributes that
// will receive user inputs.
return array(
array('content, guest', 'required', 'on'=>'guest'),
array('content', 'required'),
array('event_id, created, user_id', 'numerical', 'integerOnly'=>true),
array('guest', 'length', 'max'=>255),
array('verifyCode', 'captcha', 'allowEmpty'=>!CCaptcha::checkRequirements(), 'on'=>'guest'),
array('id, status, content, event_id, created, user_id, guest', 'safe', 'on'=>'search'),
);
}
...
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('status',$this->status);
$criteria->compare('event_id',$this->event_id);
$criteria->compare('created',$this->created);
$criteria->compare('user_id',$this->user_id);
$criteria->compare('guest',$this->guest);
return new CActiveDataProvider($this, array(
'criteria'=>$criteria,
'pagination'=>array(
'pageSize'=>11,
)
));
}
...
Проблема в том, что в CGridView не срабатывает поиск по "id" и "guest"
Оба эти поля относятся к таблице данной модели
Подскажите пожалуйста что тут не так