IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Symfony PHP Discussion :

[Dcotrine tree]Afficher plusieurs node avec childrenhierarchy [2.x]


Sujet :

Symfony PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    74
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 74
    Par défaut [Dcotrine tree]Afficher plusieurs node avec childrenhierarchy
    Bonjour,

    Je souhaite afficher les noeuds (racines) et leurs enfants de mon arbre à l'aide de l'extension tree de Doctrine.
    Je n'arrive même pas à l'afficher avec un seul des noeuds.

    Documentation officielle:
    childrenHierarchy: This useful method allows you to build an array of nodes representing the hierarchy of a tree. Arguments:

    node: If you pass a node, the method will return its children. Defaults to "null" (this means it will return ALL nodes).

    etc.
    Partie de mon controller en essayant d'afficher un seul noeud.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
            $node = $this->getDoctrine()
                ->getManager()
                ->getRepository('ContrastReferentielBundle:'.$ref)
                ->findOneByCode("BU2");
     
     
            $htmlTree = $repo->childrenHierarchy(
                $node, /* starting from root nodes */
                false, /* true: load all children, false: only direct */
                $options
            );
    En mettant "null" à la place de $node, l'arbre complet est bien affiché.
    Sinon j'ai ce message d'erreur:
    Attempted to load class "EntityWrapper" from namespace "Contrast\ReferentielBundle\Entity".
    Did you forget a "use" statement for "Gedmo\Tool\Wrapper\EntityWrapper"?
    NB: Même message d'erreur si j'essaie d'afficher le premier élément de arraycollection

    Mon but est d'afficher toutes les organisations de l'utilisateur connecté:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
            $currentUser = $this->get('security.context')->getToken()->getUser();
            $orgaCurrentUser = $currentUser->getOrganisations()->first();
    Donc en elevant le "first()" pour tout afficher.

  2. #2
    Membre chevronné
    Avatar de phpiste
    Homme Profil pro
    Développeur Senior
    Inscrit en
    Septembre 2006
    Messages
    251
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Développeur Senior
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2006
    Messages : 251
    Billets dans le blog
    7
    Par défaut
    Bonjour,

    y'a bien un use Gedmo\Tool\Wrapper\EntityWrapper dans ton entité ?

    le namespace est correctement assigné (dans entité/repository) ?

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    74
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 74
    Par défaut
    Oui:

    Dans Organisation:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    namespace Contrast\ReferentielBundle\Entity;
     
    use Doctrine\ORM\Mapping as ORM;
    use Gedmo\Tool\Wrapper\EntityWrapper;
    Dans OrganisationRepository:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    namespace Contrast\ReferentielBundle\Entity;
     
    use Gedmo\Tree\Entity\Repository\NestedTreeRepository as NestedTreeRepository;
    use Gedmo\Tool\Wrapper\EntityWrapper;

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    74
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 74
    Par défaut
    En fait il fallait mettre ce use dans la classe parente de Organisation (Referentiel).
    Merci pour l'aide

    Me reste à trouver comment afficher tous les noeuds et pas seulement un seul.

  5. #5
    Membre chevronné
    Avatar de phpiste
    Homme Profil pro
    Développeur Senior
    Inscrit en
    Septembre 2006
    Messages
    251
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Développeur Senior
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2006
    Messages : 251
    Billets dans le blog
    7
    Par défaut
    Citation Envoyé par Laurent001 Voir le message
    En fait il fallait mettre ce use dans la classe parente de Organisation (Referentiel).
    Merci pour l'aide

    Me reste à trouver comment afficher tous les noeuds et pas seulement un seul.
    Ah que du bien,

    mais la je te laisse investiguer

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. afficher plusieurs resultat avec ExecuteReader()
    Par gastoncs dans le forum VB.NET
    Réponses: 3
    Dernier message: 14/10/2012, 15h01
  2. Afficher plusieurs données avec sqlDataSource
    Par sixelia dans le forum Général Dotnet
    Réponses: 0
    Dernier message: 22/03/2012, 16h48
  3. Je peux afficher plusieurs courbes avec chart?
    Par makin_toch dans le forum ASP.NET
    Réponses: 1
    Dernier message: 25/04/2011, 14h20
  4. Réponses: 8
    Dernier message: 01/02/2007, 14h11
  5. Réponses: 6
    Dernier message: 19/05/2006, 14h22

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo