Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 07-06-2013 17:44:41

misterpatate
Nouveau membre
Date d'inscription: 07-06-2013
Messages: 1

remplire un arbre à partir d'une table

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

Code:

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é...

Code:

$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 smile
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

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 Rickard Andersson
Traduction par punbb.fr

Graphisme réalisé par l'agence Rodolphe Eveilleau
Développement par Kitpages