2011-02-10 3 views
1

Есть ли способ использовать Zend_Paginator без адаптера DbSelect/DbTableSelect без необходимости извлечения всего набора данных?Zend_Paginator Без адаптера DbSelect/DbTableSelect

У меня есть объекты 2000 Я хочу разбивать на страницы с помощью Zend_Paginator, но я не могу использовать DbSelect/DbTableSelect по определенной причине.

Есть ли способ этого? Например, я мог бы использовать массив, но он загружал бы все 2000 объектов на каждой странице.

+0

Zend_Paganiator имеет адаптеры, кроме адаптера DbSelect/DbTableSelect. Вы можете взглянуть на адаптеры Array или Iterator. – Marcin

+0

@ Марцин Я знаю. Но согласно документации эти адаптеры загружают весь набор данных, чего я хочу избежать. –

ответ

1

Я думаю, что для достижения этого можно использовать собственный адаптер, который будет реализовывать Zend_Paginator_Interface (который реализует Countable). Затем вы можете скрыть всю свою логику за этим адаптером и использовать Zend_Paginator, как всегда.

Пара параграфов о пользовательских источниках: Zend_Paginator advanced usage.