表CakePHP中一个字段中具有多个id的表关联

时间:2012-04-06 05:48:35

标签: php cakephp model

我正在使用CakePHP,我有2个表,Documents和Download,在下载表上我有一个字段:Document_id,使得与模型的关联工作正常,但有时我在Document_id中有一个像这样的字段“2, 10,12“,我如何关联表格?

1 个答案:

答案 0 :(得分:1)

你不应该在一个字段中存储多个id(除非你故意对数据库进行非规范化,但是你不会问这个问题。)

执行此操作的“正确”方法是使用称为链接表的第3个表。例如“documents_downloads”,用于存储具有匹配document_ids的download_ids。

下载hasMany DocumentDownload
DocumentDownload belongsTo Download&文档
文档hasMany DocumentDownload

实现这个的最简单方法是使用Cake的“hasMany through(The Join Model)”

参见Cakebook的部分: http://book.cakephp.org/2.0/en/models/associations-linking-models-together.html#hasmany-through-the-join-model