@skijaev

Как задать лимит и смещение в CDbCriteria с with на Yii?

Имею категории и статьи, у статьи есть связь 'Irelations'=>array(self::HAS_MANY, 'VPRelation', 'post_id'),
Я получаю все статьи из категории
$Criteria = new CDbCriteria(array(
                                            'with' => array(
                                                'Irelations' => array(
                                                    'select' => '*',
                                                    'joinType' => 'INNER JOIN',
                                                    'condition' => 'Irelations.category_id=' . $Category->id,
                                                ),
                                            ),
                                            'order' => 't.publicated DESC',
                                            'condition' => 't.status='.VP::StatusActive.' or t.status = '.VP::StatusActivePending,
                                 ));
                                $Allnodes = VPost::model()->findAll($Criteria );

Как задать лимит и смещение в таком случае, это мне нужно для реализации своей пагинации (не виджет)?

И еще вопрос глупый, когда мне нужно знать общее число записей в категории, я делаю запрос
$countAllnodes = count(VPost::model()->findAll($Criteria ));
при этом все полученные записи грузятся в память? Или количество высчитывается только из мета?
  • Вопрос задан
  • 4434 просмотра
Пригласить эксперта
Ответы на вопрос 1
TekVanDo
@TekVanDo
Javascript Developer
лимит и смещение задеваться
$criteria->limit = '20';
// смещение
$criteria->offset = '3';

CDbCriteria (методы)
Пример использования CDbCriteria
а вообще зачем писать велосипед и не воспользоваться CPagination
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы