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;
    }
 
...
}