Ich modellierte eine Social-Networking-Stil-Website, wo Menschen in der Lage sein würden, andere Personen auf ihrer Kontaktliste zu haben, wollte ich diese Beziehung als eine HABTM-Beziehung in der gleichen Tabelle, dh Benutzer, Ist das eine gute Idee? oder gibt es einen besseren Weg?HABTM-Beziehung auf der gleichen Tabelle in CakePHP
1
A
Antwort
7
Es kommt darauf an. Wenn Sie nur Beziehungen zwischen Benutzern erstellen möchten, können Sie einfach eine HABTM verwenden. Wenn Sie mehr Informationen über die Beziehung selbst speichern möchten, möchten Sie vielleicht ein separates Objekt erstellen. Zum Beispiel möchten Sie vielleicht speichern, welche Art von Beziehung zwei Benutzer haben. Freund? Mitarbeiter? Teilhaber?
In diesem Fall könnten Sie ein separates Beziehungs- oder Kontaktobjekt erstellen. Dann hat Benutzer hasMany Kontakte und jeder Kontakt gehört zu zwei Benutzern. Dies ist im Grunde das Gleiche wie das manuelle Erstellen einer HABTM-Beziehung, aber da die Beziehung selbst jetzt ein separates Modell (d. H. Kontakt) ist, können Sie zusätzliche Informationen darin speichern.
Verwandte Themen
- 1. MySql Join auf der gleichen Tabelle
- 2. MySQL Fremdschlüssel auf der gleichen Tabelle
- 3. mysql Unterabfrage auf der gleichen Tabelle
- 4. HQL, linke Join auf der gleichen Tabelle
- 5. Querydsl beitreten auf der gleichen Tabelle mehrmals
- 6. Join Tabelle zweimal - auf zwei verschiedenen Spalten der gleichen Tabelle
- 7. 2 JPA Entities in der gleichen Tabelle
- 8. MySQL Conditional Update in der gleichen Tabelle
- 9. SQL mehrere Abfragen in separate Spalten auf der gleichen Tabelle
- 10. MySQL: Wie auf zwei Spalten in der gleichen Tabelle verweisen?
- 11. MySQL: Ändern Spalte basierend auf Spaltenwerte in der gleichen Tabelle
- 12. Teilen Sie in der gleichen Tabelle
- 13. Lieferanten-Kunden-Beziehung in der gleichen Tabelle
- 14. Zwei FK aus der gleichen Tabelle mit der gleichen Bedeutung
- 15. kopieren ein Feld aus der Tabelle auf ein anderes Feld in der gleichen Tabelle
- 16. Update-Tabelle mit einer anderen Spalte in der gleichen Tabelle
- 17. In CakePHP Wie verknüpfte Tabelle Informationen
- 18. MySQL mehrere Updates auf der gleichen Tabelle Timeout
- 19. Report Viewer - Wrap-Tabelle auf der gleichen Seite
- 20. Beitritt der gleichen Tabelle zweimal auf verschiedenen Spalten
- 21. SQL-Count-Abfrage mit Join auf der gleichen Tabelle
- 22. Viele-zu-viele auf der gleichen Tabelle mit zusätzlichen Spalten
- 23. Einrichtung enthält eine Join-Tabelle in CakePHP
- 24. müssen SQL-Abfrage auf der gleichen Tabelle zu erstellen, verbinden
- 25. Update-Wert basierend auf Zeile innerhalb der gleichen Tabelle
- 26. Mehrere Beziehungen zu einer Tabelle in CakePHP
- 27. Subtrahieren zwei SUMME aus der gleichen Tabelle
- 28. CakePHP Elements nicht aktualisiert Tabelle
- 29. Verwenden Sie mehrere Tabelle in einem Controller in CakePhp 3
- 30. Inner join mit der gleichen Tabelle
interessant ... Ich werde versuchen, es auf diese Weise zu tun..Danke – Shiv