Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Bonjour à tous,
J'ai commencer un projet avec ZF 2 il y a 2 semaines et je me bat un peu avec tous ces nouveaux concepts à m'approprier et je bloque depuis un certain temps sur celui ci :
J'ai une table sous cette forme :
Catégories
ID Catégorie || Libellé || ID_parent
1 Musique 0
2 Cinéma 0
3 Rock 1
4 Classique 1
5 Action 2
Et j'aimerais générer un tableau sous la forme
- Racine
- Musique
- Rock
- Classique
- Cinéma
- Action
J'ai tenter d'utiliser un module sous la forme de l'exemple Album du tutoriel sur le site officiel auquel j'ai ajouté la fonction suivant dans la classe CategorieTable
public function getCategoriesEnfant($id_parent) { $id_parent = (int) $id_parent; $resultSet = $this->select(function (Select $select) use ($id_parent) { $select->where($this->adapter->getPlatform()->quoteIdentifier('id_parent') . ' = ' . $this->adapter->getPlatform()->quoteValue($id_parent)); }); return $resultSet; }
dans mon controller je comptais réaliser une boucle avec 2 foreach imbriqué mais à la 2eme exécution le premier est écrasé...
$premniveau= $serviceLocator->get('Categorie\Model\CategorieTable')->getCategoriesEnfant(0); $tab['racine'] = array(); foreach($premniveau as $row) { $tab['racine'][$row->libelle] = array() $deuxniveau= $serviceLocator->get('Categorie\ModelCategorieTable')->getCategoriesEnfant($row->id_parent); foreach($deuxniveau as $sousrow) { $tab['racine'][$row->libelle][$sousrow->libelle] } }
Voila un peu l'idée, je pense que je n'utilise pas correctement les outils fournit par Zend mais je ne vois pas trop quel alternative j'ai pour résoudre un problème aussi simple
j'imagine que le problème viens du faite que je travaille avec la même instance de la table catégorie mais je ne trouve pas comment stocker mon premier resultset pour permettre la 2eme itération.
Dernière modification par misterpatate (07-06-2013 17:47:17)
Hors ligne