2016-06-10 11 views
1

Ich implementiere ein System mit zwei Entitäten: Produkt und Kategorie. Ich möchte eine Viele-zu-Viele-Beziehung zwischen diesen beiden Entitäten erstellen, aber ich möchte nicht die Viele-zu-Viele-Option in Doctrine verwenden. Ich möchte die mittlere Tabelle (Produktkategorie) selbst erstellen können, damit ich später auch auf diese Tabelle zugreifen kann. Wie soll ich die Beziehungen zwischen diesen drei Tabellen definieren? (Bedenkt, dass die Beziehung zwischen Produkt und Kategorie in meinem Projekt viele-zu-viele ist). Einfache demonstrative Beispiele mit ORM-Anmerkungen der Lehre werden sehr geschätzt, damit ich das nicht falsch verstehe. Danke vielmals. Was ist die beste Praxis?Bewährtes Verfahren zum Erstellen einer Viele-zu-Viele-Beziehung in Doctrine.

+0

Blick auf dieser Frage http://stackoverflow.com/questions/15616157/doctrine-2-and-many-to-many-link-table-with-an-extra-field –

+0

Das wird sei eine einfache Kombination von Eins-zu-Viele-Viele-zu-Eins-Beziehungen. –

Antwort

3

Sie können eine mittlere Entität hinzufügen, z. B. "ProductCategory". Dann erstellen Sie eine Eins-zu-viele-Beziehung zwischen "Product" und "ProductCategory" und eine weitere Eins-zu-viele-Beziehung zwischen "Category" und "ProductCategory".

Mit dieser Lösung können Sie sogar zusätzliche Felder zur Tabelle "ProductCategory" hinzufügen.

Product [1]------>[n] ProductCategory [n]<-------[1] Category

Verwandte Themen