Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Hoy,
J'ai le schema suivant :
- Une table category
- Une table question, chaque question étant rattachée à une catégorie.
J'ai donc, dans mon modèle category :
protected $_dependentTables = array('Question');
Et dans Question :
protected $_referenceMap = array( 'Category' => array( 'columns' => array('category_id'), 'refTableClass' => 'Category', 'refColumns' => array('id') ), );
Jusque la, ça va.
Cependant lorsque je veux afficher une liste de catégories et la liste des questions qui y sont attribuées, je tombe à faire ça :
<ul> <?php while ($uplet = $this->category->current()): $datas = $uplet->toArray(); ?> <li> <h2><?= $datas['name'] ?></h2> <ul> <?php $questions = $uplet->findQuestion(); while ($question = $questions->current()): $q = $question->toArray();?> <li><?= $q['name']; ?></li> <?php $questions->next(); endwhile;?> </ul> </li> <?php $this->category->next(); endwhile; ?> </ul>
Qui est particulièrement crade à mon gout.
D'où mes questions :
- Est-il possible de récupérer les paramètres de l'uplet sans faire un toArray() ? Je n'ai pas vu de méthode getParam.
- next() ne retourne pas l'enregistrement courant, ce qui est bien dommage. Aucune alternative n'existe pour éviter de devoir exécuter les deux ?
- Et enfin une solution pour éviter d'avoir à faire un findQuestion() avant de lancer ma boucle et à avoir directement celle-ci ?
Hors ligne