使用cakephp中的字段将模型与自身关联

时间:2010-12-09 21:14:28

标签: cakephp

我正在研究一个模型,该模型将使用存储在字段中的密钥多次关联到自身。为了更具体地声明它,这是我的表的一些示例,其中包含一些行:

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,但它是否可以将word连接到指向自身的相同字段(association_id),而不是指向 id 的主键? 如果需要连接两个或多个项目,将立即生成此association_id。

提前致谢

1 个答案:

答案 0 :(得分:0)

您需要规范化表格。为了做到这一点,你必须像这样拆分这个表:

associations:
id | name

items:
id | name | association_id

模型关系如下:

Item belongsTo Association
Association hasMany Item

如果association_id只是表中的某个标记,那么您不需要创建任何额外的关系。只需在查询表时考虑分组字段。

希望有所帮助!