2009-07-05 12 views
1

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

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.

+0

interessant ... Ich werde versuchen, es auf diese Weise zu tun..Danke – Shiv

Verwandte Themen