Doctrine 2 ManyToMany odnos

Doctrine 2 ManyToMany odnos

offline
  • Pridružio: 10 Avg 2006
  • Poruke: 1009
  • Gde živiš: Beograd

Imam problema sa ManyToMany odnosom u Doctrine 2, počeo sam tek juče da ga koristim te još uvek stvari radim više "po osećaju" i nagađanjem nego po logici Smajli

Naime, imam blog. U njemu imam 2 Entiteta:

Blog : koji predstavlja članak bloga
Tag : koji predstavlja tag

Dakle jedan blog može da ima više tagova, a tako i jedan tag može da sadrži više blogova. Sad, kako izvesti ovo?

class Blog {     //.....      /**      * @ORM\ManyToMany(targetEntity="Tag", inversedBy="blogs", cascade={"persist"})      * @ORM\JoinTable(name="blog_tag")      */     protected $tags; } class Tag {        //......      /**      * @ORM\ManyToMany(targetEntity="Blog", mappedBy="tags")      */     protected $blogs; }

Ovo sam ja češljanjem dokumentacije sklepao i bilo bi super da to radi Mr. Green Ali na žalost nije tako, pri učitavanju Fixtures, recimo:

$blog = new Blog(); $blog->addTag($this->getReference('tag-1')); //'tag-1' je definisan ranije već u svojoj Fixture i prosleđena je referenca

Dobijam sledeću grešku:
[PDOException]                                                                                      SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '61-23' for key 'PRIMARY'

Kada sam pogledao tabelu "blog_tag" vidim da ona sadrži samo "blog_id" i "tag_id" kolone koje su foreign keys, tj primarni ključevi tabela "tag" i "blog" pa i ne čudi što se ovo prikazuje kao greška. Ali kako to srediti?



Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
Ko je trenutno na forumu
 

Ukupno su 755 korisnika na forumu :: 50 registrovanih, 9 sakrivenih i 696 gosta   ::   [ Administrator ] [ Supermoderator ] [ Moderator ] :: Detaljnije

Najviše korisnika na forumu ikad bilo je 3466 - dana 01 Jun 2021 17:07

Korisnici koji su trenutno na forumu:
Korisnici trenutno na forumu: A.R.Chafee.Jr., ajo baba, anbeast, Apok, babaroga, Belac91, Ben Roj, bigfoot, bojcistv, BORUTUS, brundo65, bufanje, cifra, darios, darkojbn, djboj, djo97, DonRumataEstorski, dragoljub11987, Georgius, ILGromovnik, Istman, ivicasimo, Joja2, kihot, Klecaviks, Kriglord, kunktator, kybonacci, loon123, Lord Nem, m0nstrum_, MB120mm, mgolub, milenko crazy north, milos.cbr, Nemanja.M, nemkea71, nextyamb, NoOneEver Dreams, nuke92, opt1, pacika, Sićko, Srle993, Tvrtko I, vaso1, Vlajman1957, vrag81, zixmix