Поиск в стандартном GridView не работает по внешним ключам

Дело происходит на странице /page/admin, которая сгенерирована крудом и дополнена мною.

Есть модель Page (id,body,user_id,change_user_id)

User b[/b]

Связь у них такая (Page->User) Page.php:




public function relations(){

        return array(

            'author'     => array(self::BELONGS_TO, 'User', 'user_id'),

            'changeAuthor'=> array(self::BELONGS_TO, 'User', 'change_user_id'),

        );

В функции search модели Page прописано так


        $criteria=new CDbCriteria;

        $criteria->with = array('author', 'changeAuthor');

        $criteria->compare('id',$this->id,true);

        $criteria->compare('body',$this->body,true);

        return new CActiveDataProvider($this, array(

            'criteria'    =>$criteria,

        ));



Но поиск по этим двум полям (user_id, change_user_id) не происходит, по остальным нормально ищет. Данные формы через get - отправляются.

Что не так? :(

В PageController все по моему правильно:


    public function loadModel($id)

    {

        if (isset($_GET['id']))

            $model = Page::model()->with('author', 'changeAuthor')->findbyPk($_GET['id']);


        if ( $model === null )

        {

            throw new CHttpException(404, 'The requested page does not exist.');

        }

        return $model;

    }

    }

И никто не поможет?..