【问题标题】:associate model to itself using a field in cakephp使用 cakephp 中的字段将模型与自身关联
【发布时间】:2010-12-10 05:31:42
【问题描述】:

我正在开发一个模型,该模型将使用存储在字段中的键多次关联到自身。更具体地说,这是我的表的一个示例,其中包含一些行:

id          name            association_id
------------------------------------------------------------------
33          item0           1111
34          item1           2222
35          item2           2222
36          item3           2222
37          item4           NULL

根据该数据,名为 item1 到 item3 的项目都相互关联,但不与 item0 或 item4 关联。 问题是我不知道如何在 CakePHP 中实现这种关联。它应该是一个hasMany,但是否有可能将单词与指向自身的相同字段(association_id)连接起来,而不是指向这里的主键id? 如果需要连接两个或多个项目,此关联 ID 将即时生成。

提前致谢

【问题讨论】:

    标签: cakephp


    【解决方案1】:

    您需要规范化您的表格。为此,您必须像这样拆分此表:

    associations:
    id | name
    
    items:
    id | name | association_id
    

    模型关系如下:

    Item belongsTo Association
    Association hasMany Item
    

    如果 Association_id 只是表中的某个标记,那么您不需要创建任何额外的关系。只需查询带有分组字段的表即可。

    希望有帮助!

    【讨论】:

    • 起初是我的选择,但关联并不真正作为独立对象存在,它们仅在项目相互连接时才存在。并且此 id 将按需生成并在不存在关联的情况下即时删除。
    猜你喜欢
    • 2011-11-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多