Lehre optional OneToOne-mapping

Ich versuche zu schaffen, eine optionale OneToOne-mapping in der Lehre.

Ich habe eine Tabelle mit allen Städten und Postleitzahlen zur Verfügung (diese Tabelle sollte nicht geändert werden), und ich habe eine Tabelle mit Adressen und eine zugeordnete Stadt. Aber manchmal möchte ich nicht hinzufügen, die Stadt, meine Adresse am Anfang (vielleicht später es wird). Aber wenn ich nicht hinzufügen einer Stadt zu der Adresse, die bestehen auf die Adresse gibt mir ein Spiegelbild Ausnahme, denn es ist kein Objekt wie 'null' , die de Stadt-Objekt.

Möchte ich nicht hinzufügen, eine leere Stadt jedes mal in die Datenbank, denn es sollte nichts Hinzugefügt oder gelöscht werden, um die Stadt zu Tisch.

Irgendwelche Vorschläge? Oder was bin ich?

class Address{
/**
 * @OneToOne(targetEntity="City")
 * @JoinColumn(name="city_id", referencedColumnName="id")
 */
  private $city = '';

Mögliche Lösungen, die ich in Betracht gezogen:

  • Erstellen Sie eine leere Stadt-Objekt in der db und weisen Sie diese immer wieder neu erstellte Adresse Objekten (könnte dazu führen, eine Menge overhead)
  • Erstellen Sie eine ManyToMany Beziehung mit einer Reihe von Städten, so kann es null oder mehr Städte Hinzugefügt (ich kann Sie beschränken die Menge der Städte, die in meiner Adresse-Objekt), aber dann brauche ich eine mapping-Tabelle...
InformationsquelleAutor jayv | 2011-07-29
Schreibe einen Kommentar