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

Doctrine2 PHP Discussion :

Many To Many, Bidirectional


Sujet :

Doctrine2 PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de Legenyes
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2005
    Messages
    174
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2005
    Messages : 174
    Par défaut Many To Many, Bidirectional
    Bien le bonjour,

    J'avais une relation Many-To-Many qui fonctionnais bien.
    Suite aux besoins de pouvoir faire un left join depuis la classe inverse, j'ai tenté de transformé mon schéma en bidirectionnel.

    J'arrive bien a faire mes SELECT depuis les deux cotés de la relations.

    Mais impossible de modifier les relations (ajouter/supprimer) entre les objets
    en gros ma table intermédiaire n'est plus jamais nourrie.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    <?php
    class Formule
    {
    ...
     
        /**
         * @ORM\ManyToMany(targetEntity="Parcours", mappedBy="formules")
         */
        private $parcours;
     
    public function __construct()
        {
            $this->parcours = new \Doctrine\Common\Collections\ArrayCollection;
        }
     
     public function addParcours(Parcours $parcours) {
     
            $this->parcours[] = $parcours;
            $parcours->addFormule($this);
        }
     
        public function getParcours() {
            return $this->parcours;
        }
    ...
    }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    <?php
    class Parcours {
    ...
     /**
         * @ORM\ManyToMany(targetEntity="Formule", inversedBy="parcours")
         * @ORM\JoinTable(name="formule_parcours")
         */
        private $formules;
     
    public function __construct()
        {
            $this->$formules = new \Doctrine\Common\Collections\ArrayCollection; 
        }
     
        public function addFormule(Formule $formule) {
            $this->formules[] = $formule;
        }
     
        public function getFormules() {
            return $this->formules;
        }
     
    ...
    }

  2. #2
    Expert confirmé

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Par défaut
    Il te faut une table entre

  3. #3
    Membre confirmé Avatar de Legenyes
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2005
    Messages
    174
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2005
    Messages : 174
    Par défaut
    Comme je le dis plus haut, j'ai bien une table intermédiaire.
    mais elle n'est plus nourrie dans un des sens de la relation.

  4. #4
    Expert confirmé

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Par défaut
    Faut faire correctement ton mappage

  5. #5
    Membre confirmé Avatar de Legenyes
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2005
    Messages
    174
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2005
    Messages : 174
    Par défaut
    Merci c'est très constructif comme réponse

  6. #6
    Expert confirmé

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Par défaut
    montre comment tu fais pour rajouter un Parcours par exemple

Discussions similaires

  1. relation many-to-many bidirectional complète
    Par Sergei75 dans le forum Doctrine2
    Réponses: 5
    Dernier message: 13/02/2014, 17h24
  2. Un peu de mal a comprendre le concepte "one-to-many" et "many-to-many"
    Par chriscoolletoubibe dans le forum Hibernate
    Réponses: 4
    Dernier message: 29/03/2007, 18h50
  3. [hibernate 3] mapping many-to-many
    Par darkyspirit dans le forum Hibernate
    Réponses: 4
    Dernier message: 29/12/2006, 19h37
  4. [EJB2.1 Entity] [XDoclet][JBoss] CMR - Many to Many Relation
    Par dauggui dans le forum Java EE
    Réponses: 4
    Dernier message: 24/04/2006, 11h45
  5. [hibernate]relation many-to-many
    Par quilo dans le forum Hibernate
    Réponses: 5
    Dernier message: 20/12/2005, 10h07

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