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