Verwenden von Doctrine und Symfony zum Erstellen polymorpher Assoziationen

8

Ich versuche ein Fileable-Merkmal zu haben, das eine Entität mit Methoden für CRUD-Dateien basierend auf der unten erwähnten Datei-Entität zur Verfügung stellt.

Nachdem ich die Dokumentation über Lehre gelesen und im Internet gesucht habe, ist das Beste, was ich finden konnte, Vererbung Mapping aber alle diese erfordern die Unterklasse, um die Superklasse zu erweitern, die nicht ideal ist, da die aktuellen Entitäten bereits andere Klassen erweitern. Ich könnte FileFoo entity und% FileBar entity haben, aber das wird zu unordentlich und erfordert einen zusätzlichen Join ( super - & gt; sub - & gt; entity ).

Alternativ könnte ich eine Datei-Entity haben, die viele Spalten für Entitäten hat (also foo_id für das Foo -Objekt, bar_id für das bar -Objekt usw.), aber dies wird unordentlich und erfordert a neue Spalte für jede Entität, der ich auch die Eigenschaft Fileable hinzufügen möchte.

Also zu den Fragen: Denke ich darüber nach, wie ich Daten falsch halten möchte? Gibt es einige Funktionen / Funktionen in Doctrine / Symfony, die ich verpasst habe? Denkst du, ich würde das Feature hinzufügen, wenn ich Doctrine forkieren würde, um diese Funktion hinzuzufügen, wo soll ich auch hinsehen?

%Vor%     
TheNextBigThing 26.04.2016, 19:47
quelle

2 Antworten

1

Ich habe eine ähnliche Sache mit der in Eigenschaften definierten Vererbung erreicht, die mir neben den Schnittstellen im Grunde genommen auch das gab, was ein multipler Extend geben würde.

    
ABM_Dan 03.05.2016 18:02
quelle
1

Sehen Sie sich embeddables an, die Sie verwenden könnten Eigenschaften.

    
d.garanzha 03.05.2016 20:59
quelle

Tags und Links