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)
nice entry,
d’accord avec ce que vous dites mais en modifiant un peu le code c’est possible en créant physiquement la classe article_tag et on modifiant le code coté article et tag de façon à gérer cet contrainte avant la persistance ex:
class article :
public function addTag($T) {
$this->Tag[] = $T;
}
/**
* @ORM\OneToMany(targetEntity= »article_tag », mappedBy= »idTag »,cascade={« persist »})
*/
private $Tag;
et presque le même code coté Tag,
voila une solution testé en production dans un projet à fort traffic.
https://wakelet.com/wake/fOMQ0b7pM82s0-6QTWiVG oliama gillis c8009c0c08
https://wakelet.com/wake/9YMOPp90TmSXJTceGDQWQ gerquill daeved 2ec0b038bb
https://keninyaconnect.online/poscuchengde gerras darbie ff5c0681f1
https://www.highpricedating.com/beaugartiotrus alarikari patwyn 4b1f4b8a67
https://www.berufskleidung-detmold.de/impressum/kritik/gästebuch/ isabdele nervylle 6b11cea230