表关系 - 多个HABTM或多个hasMany

时间:2012-08-18 10:03:07

标签: database cakephp relationship has-many has-and-belongs-to-many

我有一个表files,它属于postarticlenotionparagrah。也许将来会有更多。

您建议使用什么关系?多个HABTM表或多列(post_idaticle_id,......)?

或者可能有两列parent_aliasparent_id?但是如何在CakePHP中轻松使用它?

感谢您的任何建议!

2 个答案:

答案 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就足够了。