2012-04-06 5 views
0

Ich benutze CakePHP und ich habe 2 Tabellen, Dokumente und Download, auf der Download-Tabelle habe ich ein Feld: Document_id, so dass die Verbindung mit dem Modell funktioniert, aber manchmal ich habe in Document_id ein Feld wie dieses "2,10,12", Wie kann ich die Tabellen assoziieren?Tabellenverknüpfungen mit mehreren IDs in einem Feld in CakePHP

+0

Müssen sie in einem Feld sein? Wenn ja, dann können Sie das nicht automatisch tun. – jeremyharris

Antwort

1

Sie sollten nicht mehrere IDs in einem Feld speichern (es sei denn, Sie möchten Ihre Datenbank absichtlich denormalisieren, aber dann würden Sie diese Frage nicht stellen).

Der "richtige" Weg, dies zu tun, ist eine dritte Tabelle namens Verknüpfungstabelle zu verwenden. z.B. "documents_downloads", um die download_ids mit passenden document_ids zu speichern.

Herunterladen hasMany Document
Document belongsTo Herunterladen & Dokument
Dokument hasMany Document

Der einfachste Weg, dies zu implementieren ist mit Cake "hasMany durch (Die Join-Modell)"

Siehe Abschnitt des Cakebook : http://book.cakephp.org/2.0/en/models/associations-linking-models-together.html#hasmany-through-the-join-model

Verwandte Themen