Einführung:
Many -zu-viele-Beziehungen beinhalten oft zusätzliche Felder, die zusätzliche Informationen speziell für jede Beziehungsinstanz bereitstellen. Der Umgang mit solchen Beziehungen in Lehre 2 kann jedoch etwas schwierig sein. In diesem Artikel soll erläutert werden, wie diese Beziehungen effektiv modelliert werden können.
Das Problem:
Der Benutzer hat versucht, ein Datenbankmodell mit einer Viele-zu-Viele-Beziehung zu erstellen ein zusätzliches Feld für die Lagerhaltung enthalten. Allerdings stießen sie auf Probleme, als sie versuchten, mit dem Schema-Tool von Doctrine auf den Bestandswert zuzugreifen und die Datenbanktabellen zu generieren.
Die Lösung:
Viele verstehen -zu-viele-Beziehungen mit zusätzlichen Feldern
Eine viele-zu-viele-Beziehung mit zusätzlichen Feldern ist im Wesentlichen eine neue Entität an sich, da sie nun über einen Bezeichner (die Beziehungen zu den verbundenen Entitäten) und Werte verfügt. Daher reicht es nicht aus, sie als Verknüpfungstabelle ohne Werte zu modellieren.
Separate Entitäten für Beziehungen mit zusätzlichen Feldern erstellen
Der empfohlene Ansatz besteht darin, eine separate Entität zu erstellen , wie in diesem Fall „Stock“, das die Beziehung darstellt und das zusätzliche Feld enthält. Diese Entität stellt Beziehungen zu beiden beteiligten Entitäten her, und jede Beziehung wird durch einen Fremdschlüssel in der Entität „Stock“ dargestellt.
Codebeispiele:
Hier ist ein Beispiel wie die Entitäten in den Anmerkungen zu Lehre 2 definiert werden könnten:
// Product Entity @ORM\OneToMany(targetEntity="Entity\Stock", mappedBy="product") protected $stockProducts; // Store Entity @ORM\OneToMany(targetEntity="Entity\Stock", mappedBy="store") protected $stockProducts; // Stock Entity @ORM\Id() @ORM\ManyToOne(targetEntity="Entity\Store", inversedBy="stockProducts") protected $store; @ORM\Id() @ORM\ManyToOne(targetEntity="Entity\Product", inversedBy="stockProducts") protected $product;
Zusätzlich Überlegungen:
Das obige ist der detaillierte Inhalt vonWie modelliert man Viele-zu-Viele-Beziehungen mit zusätzlichen Feldern in Lehre 2?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!