Imagine a seguinte situação: você precisa fazer uma consulta numa tabela que tem muitos registros e, portanto, precisa fazer paginação do resultado. Ok até aí, é só criar um Zend_Db_Select
e usar ele como parâmetro para um Zend_Paginator
. Porém, na hora de iterar sobre o getItems()
do paginator, você estará trabalhando com um array
em vez de trabalhar com um objeto da sua classe modelo. O que fazer? Bom… você pode pegar todos os resultados, jogar num foreach
e converter no objeto em questão, correto? Mas pra todo objeto vai ter que fazer isso de forma repetida… E agora?
Eis minha sugestão: Vamos criar um novo adapter para Zend_Paginator
que é uma variação do Zend_Paginator_Adapter_DbSelect
. A diferença é que esse adapter recebe um parâmetro adicional no construtor com o nome da classe modelo que você deseja como retorno na paginação.