我有一个表files
,它属于post
,article
,notion
或paragrah
。也许将来会有更多。
您建议使用什么关系?多个HABTM表或多列(post_id
,aticle_id
,......)?
或者可能有两列parent_alias
和parent_id
?但是如何在CakePHP中轻松使用它?
感谢您的任何建议!
答案 0 :(得分:1)
这种情况可以使用hasOne来解决
只需在文件表中添加一个类型列(varchar)和一个foregin_key(整数)
并使用hasOne关系
在您的帖子,文章......模型中绑定此模型发布
$hasOne = array('File' => array('foreignKey'=>'foreign_key','conditions'=>array('type'=>'post')))
文章中的
$hasOne = array('File' => array('foreignKey'=>'foreign_key','conditions'=>array('type'=>'article')))
确保在保存关联时更新“类型”列
答案 1 :(得分:0)
我们无法为您选择。这取决于您的数据。
问题是:文件可以属于多个帖子吗?
如果是,你需要一个HABTM。
如果没有BelongsTo就足够了。