Cgridview, Поиск С Cdbcriteria И Пагинация

Нужно сделать вывод из таблицы с помощью CGridView и прикрутить туда поиск. В принципе всё работает ок, но если в результате поиска строчек получается больше, чем влезает на страницу начинаются проблемы- при переходе на 2 страницу выводится 2 страница без учета поиска.

[font="Monaco, Andale Mono, Courier New, Courier, mono"] [/font]





  public function actionLog() {

    $model = new Log();


    $criteria = new CDbCriteria();

    $criteria->together = true;

    $criteria->with = array('user_from', 'user_to');


    if (isset($_POST['Log'])) {

      $model->attributes = $_POST['Log'];


      $criteria->compare('user_from.name', $model->username_from, true);

      $criteria->compare('user_to.name', $model->username_to, true);

      $criteria->compare('user_ip', $model->user_ip, true);

      $criteria->compare('to_user_id', $model->to_user_id, true);

      $criteria->compare('to_user_ip', $model->to_user_ip, true);

    }


    $models = Log::model()->findAll($criteria);

    $dataProvider = new CArrayDataProvider($models, array(

      'pagination' => array(

        'pageSize' => 50

        )

    ));


    $this->render('log', array(

      'dataProvider' => $dataProvider,

      'model' => $model

    ));

  }

[font="Monaco, Andale Mono, Courier New, Courier, mono"] [/font]

Поиск обычно чере $_GET делается, чтобы хранить критерии в адресной строке.

Вы тут через $_POST их передаете.

Соответственно, либо не вы*бывайтесь переделайте на $_GET, либо как-то иначе их храните (в сессии, например).

Переделайте через $_GET и будет вам счастье.