【问题标题】:Table relationship - multiple HABTM or multiple hasMany表关系 - 多个 HABTM 或多个 hasMany
【发布时间】:2012-08-18 10:03:07
【问题描述】:

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

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

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

感谢您的任何建议!

【问题讨论】:

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


    【解决方案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')))
    

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

    【讨论】:

    • 太好了,谢谢!我只是想知道你写的东西是否可能。我必须使用 $hasMany,但这并不重要。 :)
    【解决方案2】:

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

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

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

    如果没有 BelongsTo 就足够了。

    【讨论】:

      猜你喜欢
      • 2011-07-12
      • 2014-04-02
      • 2018-01-03
      • 1970-01-01
      • 2022-01-16
      • 2012-10-11
      • 2016-03-13
      • 1970-01-01
      • 2011-10-21
      相关资源
      最近更新 更多