Hi!

Ik heb de volgende tabellen:

Travel
* id
* name

rel_travel_youtube
* id
* travel_id
* youtube_id

Youtube
* id

Vereist geen verdere uitleg hoop ik.

Ik ben bezig met doctrine2 en wil deze tabellen nu aan elkaar koppelen en vraag mij af wat de beste optie hiervoor is.

1 reis kan meerdere gekoppelde youtube video's hebben.
1 video kan bij meerdere reizen getoond worden.

Travel -> ManyToMany -> RelTravelYoutube
RelTravelYoutube -> ManyToMany -> Travel

Youtube -> ManyToMany -> RelTravelYoutube
RelTravelYoutube -> ManyToMany -> Youtube

Maar dit kan niet de bedoeling zijn lijkt mij.

Graag reacties.

Gr,

Erik

Toevoeging op 08/05/2014 20:53:44:

http://docs.doctrine-project.org/en/2.0.x/reference/annotations-reference.html#manytomany

Dit example laat volgens mij de oplossing wel zien?
Ben altijd in voor een interessante discussie!
rel_travel_youtube is de koppel tabel en kan geen n-n relationship hebben.
Dit kan je voorkomen door een unique constraint op travel.id en YouTube_id leggen.
Met andere woorden gooi die id kolom weg en maak van beide kolommen een PK
Dat klink logisch.

rel_travel_youtube
ALTER TABLE `rel_travel_youtube` ADD PRIMARY KEY( `travel_id`, `youtube_id`);

ALTER TABLE `rel_travel_youtube` ADD FOREIGN KEY (`travel_id`) REFERENCES `vacation`.`travel`(`id`) ON DELETE RESTRICT ON UPDATE RESTRICT; ALTER TABLE `rel_travel_youtube` ADD FOREIGN KEY (`youtube_id`) REFERENCES `vacation`.`youtube`(`id`) ON DELETE RESTRICT ON UPDATE RESTRICT;

Nu dan enkel nog een kwestie om mijn entiteiten te genereren vanuit de database?

Reageren