Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Bonjour,
Si quelqu'un pourra me dire comment parcourir 2 fois un ResultSet ou plutôt comment faire un reset
Lors du premier passage dans mon Controlleur je le modifie :
$villas= $this->getAppartementTable()->getVillas();
foreach ($villas as $appart) {
$photA= $this->getPhotoTable()->getPhotos($appart->getNomAppart());
$appart->setPhotos($photA);
}
ensuite pour l'afficher dans la vue je peu pas car je pense que je l'ais deja parcouru...
J'ais essayé la fonction reset($villas); mais ca ne fait rien,
Merci,
Hors ligne
Bonjour !
Il me semble qu'il faut utiliser rewind() (sur $villa) ou encore buffer() pour avoir la collection en mémoire.
Hors ligne
Merci, j'ais déjà essayé mais ça ne marche pas je pense qu'il n'aime pas le setPhotos (c'est une collection d'objets)
je ne sais pas le faire avec un resultset avant j'utilisais sous zend 1.8.. des mappers et des dbTable pour constuire un objet composé d'autres objets...
la je ne vois pas comment faire le set photo ne marche pas quand je fais cette boucle ca plante tout...
Hors ligne
Tu m'a l'air d'avoir un problème de design.
A mon avis, ta classe "Appartement" devrait implémenter la fonction :
getPhotos();
qui se chargerait de setter les photos (si besoin et par appel d'une fonction setPhotos) et de les retourner.
Ainsi dans ton controller tu n'as plus besoin de boucler sur le resultSet pour les setter et donc tu n'as plus qu'à parcourir tes villas et "faire un $appart->getPhotos() pour afficher les photos" dans ta vue.
Hors ligne
Yes, c'est j'avais deja fait un getPhotos et setPhotos, sauf que que je les appele dans mon controlleur je vais essayer de faire la boucle dans appartementTable... ,
Merci pour la reponse...
Hors ligne
Sinon faire un rewind
Hors ligne