Ver Mensaje Individual
  #9 (permalink)  
Antiguo 22/10/2009, 09:28
Avatar de Webstudio
Webstudio
Colaborador
 
Fecha de Ingreso: noviembre-2001
Ubicación: 127.0.0.1
Mensajes: 3.499
Antigüedad: 23 años, 1 mes
Puntos: 69
Respuesta: Zend_Paginator junto con relaciones de tablas?

Gente, gracias por pasarme links al "manual". Creanme, ya lo leí TODO y si vengo acá es porque busco alguien que haya tenido o tenga el mismo problema, para ver si encontraron alguna solución.

Yo finalmente llegué a una solución "de compromiso" que me permite hacer lo que quiero, pero no me convence EN LO MÁS MINIMO.

1) Creé dos nuevas clases: App_Db_Table_Row y App_Db_Table_Rowset.
2) Configuré a mis Modelos para que sus rowsetClass y rowClass sean (o extiendan) estas dos clases.
3) En App_Db_Table_Row, sobrecargué el médoto findManyToManyRowset (copiándolo directamente de Zend_Db_Table_Row_Abstract) para que al momento de crear un rowset y devolverlo, le pase un parámetro extra, que es el Select utilizado para crear dicho Rowset.
4) En App_Db_Table_Rowset, sobrecargué el constructor para que reconozca este nuevo parámetro, y lo cargue dentro de un atributo. Además agregué un getSelect() para pedir dicho Select.
5) en la vista ahora, tengo un View_Helper llamado pagination, al cual le paso el Rowset, la página actual y la cantidad de resultados por página, y me genera la paginación.

No es la solución que más me gusta, para ser sincero. Recién ahora leo la respuesta de GatorV (joder Christopher, me podrías haber dicho eso antes) y me gusta la posibilidad de utilizar el Profiler para pedir el último query, crear un Zend_Db_Select en base a este, y eso mismo guardarlo de alguna manera en el Rowset (porque sino, el Select queda escondido dentro del findManyToManyRowset).

Por ahora me saqué el problema de encima, pero estaría bueno pensar en una solución completa a este problema: crear un Zend_Paginator_Adapter para este tipo de caso en particular, con la solución internmedia entre un Rowset modificado y Zend_Db_Profiler.

Qué opinan?
__________________
Tutoriales Photoshop | Web-Studio.com.ar
Artículos PHP | ZonaPHP.com