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