0

我有一张桌子,files它属于post,或。也许在未来,还会有更多。articlenotionparagrah

你建议使用什么关系?多个 HABTM 表或多个列 ( post_id, aticle_id,...)?

或者也许是两列parent_aliasparent_id?但是如何在 CakePHP 中轻松使用它呢?

感谢您的任何建议!

4

2 回答 2

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')))

只需确保在保存关联时更新“类型”列

于 2012-08-18T15:02:56.423 回答
0

我们无法为您选择。这取决于您的数据。

问题是:一个文件可以属于多个帖子吗?

如果是,您将需要一个 HABTM。

如果没有 BelongsTo 就足够了。

于 2012-08-18T12:02:59.067 回答