Wie lege ich in Doctrine 2 eine Join-Tabelle mit zusätzlichen Spalten oder einer Viele-zu-Viele-Verknüpfung mit zusätzlichen Eigenschaften an?Doktrin 2: Umgang mit Join-Tabellen mit zusätzlichen Spalten
Antwort
Zuerst weg, lassen Sie mich erklären, dass dies tut nicht existieren:
A Tisch beitreten (auch als Verknüpfungstabelle bekannt oder Querverweistabelle) ist eine Tabelle, die 2 Links (oder mehr) andere Tabellen zusammen innerhalb der gleichen Datenbank nach Primärschlüssel. Das bedeutet, dass eine Join-Tabelle nur Fremdschlüssel enthält, für diese zusätzlichen Spalten gibt es keinen Platz.
Also, wenn Sie zusätzliche Spalten in einer solchen Tabelle benötigen, ist es nicht mehr nur eine "Verknüpfung" zwischen anderen Tabellen, sondern wird eine echte Tabelle für sich!
In Bezug auf Lehre 2 haben Sie nicht mehr eine Viele-zu-Viele-Verknüpfung zwischen 2 Entitäten, sondern erhalten eine Eins-zu-Vielen/Viele-zu-Eins-Verknüpfung zwischen 3 Entitäten.
Lesen Sie hier weiter, um weitere Informationen Erläuterungen zu lesen:
Diese Links sind kaputt, kann jemand sie aktualisieren? –
Links werden aktualisiert! (Formatierung kann ein bisschen aus, wird so schnell wie möglich behoben werden) –
Vielen Dank für die Aktualisierung der Links! –
Im zweiten Artikel, schlage ich vor, ein kleines Update. Anstelle des vollständigen Ereignis, verwenden Sie einen LifecycleCallback innerhalb des Unternehmens selbst:
/**
* @ORM\Entity
* @ORM\Table(name="jobs”)
* @ORM\HasLifecycleCallbacks
*/
class Job
{
// ...
/**
* @ORM\PreRemove
*/
public function preRemoveCallback()
{
$this->setPerson(null);
$this->setCompany(null);
}
}
- 1. Doktrin 2 Paginierung mit Zuordnungszuordnung
- 2. Beitreten Unterabfrage mit Doktrin 2 DBAL
- 3. Doktrin DBAL - WHERE IN Array mit zusätzlichen Parameter
- 4. Doktrin 2: Update-Abfrage mit Abfrage-Generator
- 5. Ordnende Entitäten mit sortierbarem Verhalten in Doktrin 2 (Symfony 2)
- 6. Zurücksetzen Doktrin 2 ID
- 7. LINQ to SQL mit Spalten mit zusätzlichen Nullwerten
- 8. Zurückgeben mehrerer Spalten in Doktrin
- 9. 4 Spalten 2 Spalten mit Twitter Bootstrap
- 10. 2 Spalten mit Emacs austauschen
- 11. Doktrin 2 ObjectMultiCheckbox checked property
- 12. Doktrin 2 Zuordnung ohne Fremdschlüsseleinschränkungen
- 13. Erhalten Sie die letzte Einfüge-ID mit Doktrin 2?
- 14. Aliasing-Felder mit partieller Objektsyntax + Array-Hydrator in Doktrin 2
- 15. Doktrin 2 Modell: Wie setze Tabellennamen mit "-" drin?
- 16. Viele-zu-viele auf der gleichen Tabelle mit zusätzlichen Spalten
- 17. Laravel: oignesToMany mit zusätzlichen Feldern
- 18. Spark ML VectorAssembler() Umgang mit Tausenden von Spalten in Datenframe
- 19. Umgang mit Fehlermeldungen mit asp.net
- 20. ExtJS: 2 Ajax-Speicher, 1 mit einer zusätzlichen Reihe
- 21. EJB3 - Umgang mit nicht standardmäßigen Verknüpfungstabellen
- 22. Doktrin 2. Auto Generieren von Proxies
- 23. Haben Nullable-Spalten zusätzlichen Platz in PostgreSQL?
- 24. Fremdschlüssel mit zusätzlichen Einschränkungen?
- 25. Anmeldeseite mit zusätzlichen Optionen
- 26. Suche 2 Spalten mit 1 Eingabefeld
- 27. Verbinden Sie 2 Spalten mit 1 Spalte
- 28. Komprimieren 2 Datenzeilen mit Ausnahme einiger Spalten
- 29. Pandas read_csv mit Datum in 2 Spalten
- 30. SQL minus 2 Spalten - mit Nullwerten
@ThatBlairGuy ich bemerkt, dass Sie eine Menge von der [tag: extra] entferne Tag. Diese Änderung war ausreichend, aber achten Sie darauf, alle Aspekte eines Posts zu fixieren und zusätzlich das Tag zu entfernen. Für mehr, lesen Sie diese [Metadiskussion] (https://meta.stackoverflow.com/questions/314488/how-to-deal-with-serial-tag-only-edits-from-sub-2k-users) – ryanyuyu