Hallo Community,
ich kämpfe immer noch mit meiner ersten Many-To-Many Beziehung in Flow3.
Die beiden Klassen, um die es geht, heißen "Projekt" und "Person",
dass heißt beliebig viele Projekte können mit beliebig vielen Personen zugeordnet werden.
Dies möchte ich gerne von beiden Seiten bequem machen können.
Leider kann ich add() und removeElement() nur von dem inversedBy Objekt durchführen.
Gibt es eine simple Variante, das für die mappende Seite zu ergänzen oder
muss ich dann dort immer den kleinen Workaround über das andere Objekt bauen?
Hier mal die beiden Doctrine Definitionen der Klassen:
class Project {
// ...
/**
* @var \Doctrine\Common\Collections\Collection</*...*/\Person>
* @ORM\ManyToMany(targetEntity="/*...*/\Person", mappedBy="projects")
*/
protected $persons;
// ...
}
class Person {
// ...
/**
* @var \Doctrine\Common\Collections\Collection</*...*/\Project>
* @ORM\ManyToMany(targetEntity="/*...*/\Project", inversedBy="persons")
*/
protected $projects;
// ...
}
Und der Link zur doctrine Documenation:
http://docs.doctrine-project.org/en/latest/reference/association-mapping.html#many-to-many-bidirectional
Kann es sein, dass ich bei dem inversed Objekt noch die JoinTable mit angeben muss?
[Edit] -> ausprobiert. Nein, dass macht Flow3 auch schon von allein. ändert nichts.
Oder kann man sogar das inversedBy und mappedBy weglassen?
[Edit] -> ausprobiert. Nein! Denn dann stellt Doctrine zwei many-to-many Tabellen her. eine völlig andere Sichtweise.