2012-04-06 5 views
0

私はCakePHPを使用しています。ダウンロードテーブルに2つのテーブルDocumentおよびDownloadがあります。ドキュメントIDは、モデルとの関連付けをうまく機能させます。 Document_idに "2,10,12"のようなフィールドを持っていますが、どのようにテーブルを関連付けることができますか?CakePHPの1つのフィールドに複数のIDが関連付けられています

+0

フィールドは1つにする必要がありますか?もしそうなら、これを自動的に行うことはできません。 – jeremyharris

答えて

1

複数のIDを1つのフィールドに格納しないでください(意図的にデータベースを非正規化しない限り、この質問は表示されません)。

これを行うための「適切な」方法は、リンクテーブルと呼ばれる3番目のテーブルを使用することです。例えば"documents_downloads"、download_idsに一致するdocument_idsを格納します。 hasManyのDocumentDownloadは
DocumentDownload belongsToの&ドキュメント
ドキュメントhasManyのDocumentDownload

ケーキの "を通してhasManyの(参加モデル)" Cakebookの

参照セクションを使用しているこれを実装する最も簡単な方法をダウンロード

ダウンロード: http://book.cakephp.org/2.0/en/models/associations-linking-models-together.html#hasmany-through-the-join-model

関連する問題