Ma Relation ManyToMany n’est pas persisté.

La persistance de la relation ManyToMany avec doctrine n’est pas bidirectionnelle.

Il y a un côté maitre et un côté esclave. Seule la sauvegarde du côté maitre entrainera la sauvegarde du côté esclave.

Exemple :

<?php

class Article
{

    /**
    * @ManyToMany(targetEntity="Tag", inversedBy="articles")
    * @JoinTable(name="article_tag")
    **/
    private $tags;

}

class Tag
{

    /**
    * @ManyToMany(targetEntity="Article", mappedBy="tags")
    **/
    private $articles;

}

Dans cet exemple, c’est la classe Article qui est maitresse.

Lorsque l’on persistera la classe Article, les liaisons avec la classe Tag seront persistées elle aussi. Ce n’est pas le cas quand on persiste la classe Tag (il faudra développer du code spécifique)