Здравствуйте. У меня есть таблица с данными, нужно сделать пагинатор по данным записям.
Есть 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