CPagination + DbCriteria

Уже исправленные репорты или принятые предложения
Закрыто
Аватара пользователя
max.zloy
Сообщения: 70
Зарегистрирован: 2010.06.20, 21:05
Откуда: Чита
Контактная информация:

CPagination + DbCriteria

Сообщение max.zloy »

При использовании group by в CDbCriteria с несколькими join`ами например. Пагинатор не верночитает количество записей. Откидывая group by.
Например:

Код: Выделить всё

     $criteria = new CDbCriteria();
     $criteria->join = 'тут какой либо join';
     $criteria->join .= 'тут еще join';
     $criteria->join .= 'Еще join';
     $criteria->condition = 'тут условие или их может быть несколько';
     $criteria->group = '`t`.id';
     // здесь будет не правильно посчитано количество записей в итоге расчитается не вреное количество страниц
     //group by будет откинут потому что если поставить count() он сгруппирует и количество тоже 
     $count=Article::model()->count($criteria);
     $pages=new CPagination($count);
   
    $pages->pageSize=10;
    $pages->applyLimit($criteria);
    // $models - этот массив получится уже с group by;
    //количество элементов будет меньше чем насчитал пагинатор
    $models = Post::model()->findAll($criteria);
 
В итоге вся пагинация ломается, последний раз долго сидел думал почему у меня пагинатор не работает, в итоге выбирал количество отдельным запросом и насильно выставлял его в пагинатор, однако код который я привел усложненный пример пагинации который описан в мануале - не приятно.

http://www.yiiframework.com/doc/api/1.1/CPagination пример тут
follow me zloy_max
Ekstazi
Сообщения: 1428
Зарегистрирован: 2009.08.20, 22:54
Откуда: Молдова, Бельцы
Контактная информация:

Re: CPagination + DbCriteria

Сообщение Ekstazi »

Уже поправлено :)
Аватара пользователя
max.zloy
Сообщения: 70
Зарегистрирован: 2010.06.20, 21:05
Откуда: Чита
Контактная информация:

Re: CPagination + DbCriteria

Сообщение max.zloy »

В 1.6 ? я в 1.5 такое заметил
follow me zloy_max
Ekstazi
Сообщения: 1428
Зарегистрирован: 2009.08.20, 22:54
Откуда: Молдова, Бельцы
Контактная информация:

Re: CPagination + DbCriteria

Сообщение Ekstazi »

Да.
Закрыто