我正在研究一个模型,该模型将使用存储在字段中的密钥多次关联到自身。为了更具体地声明它,这是我的表的一些示例,其中包含一些行:
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。
提前致谢
答案 0 :(得分:0)
您需要规范化表格。为了做到这一点,你必须像这样拆分这个表:
associations:
id | name
items:
id | name | association_id
模型关系如下:
Item belongsTo Association
Association hasMany Item
如果association_id只是表中的某个标记,那么您不需要创建任何额外的关系。只需在查询表时考虑分组字段。
希望有所帮助!