Subotinn
@Subotinn

Как сделать paginator из 2-ух sql запросов, zend_paginator?

Здравствуйте. У меня есть таблица с данными, нужно сделать пагинатор по данным записям.
Есть 2 запроса:
type=1 ORDER BY priority DESC
type=2 ORDER BY time

В начале на первых страницах пагинатора, должны быть записи с типом 1, и отсортированные по приоритету. А когда они закончатся, выводятся те записи, у которых тип равен 2, и сортируются они по колонке time.

Попробовал сделать так:
$select1 = $this->_dbTable
                        ->select()
                        ->where('`type` = 1')
                        ->order('priority DESC');
        $select2 = $this->_dbTable
                        ->select()
                        ->where('`type` = 2')
                        ->order('time');
      $paginator = new Zend_Paginator(new Zend_Paginator_Adapter_DbSelect(
        $this->_dbTable->select()->union(array($select1,$select2))
        ));
      $paginator->setCurrentPageNumber($pageNumber);
      $paginator->setItemCountPerPage($perPage);
      $paginator->setPageRange(1);


Получаю ошибку:
Incorrect usage of UNION and ORDER BY
  • Вопрос задан
  • 2267 просмотров
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы