CakePHP中多个表的公共列

CakePHP中多个表的公共列,php,mysql,cakephp,Php,Mysql,Cakephp,我想知道在CakePhP中是否有一种聪明的方法可以将几个公共列添加到不同的表中。我可以使用一个与这些表有关系的公共表,但是否有一种行为或类似的机制: 使用者 客户 公共个人领域 在第三个表中有一些公共字段,由cake自动获取。通过这种方式,您还可以在其他表视图中包含这些字段的公共视图。这是在CakePHP中完成的。在这种情况下,您的模型将是User、Customer和PersonalData,您的关联是User hasOne PersonalData,Customer hasOne Person

我想知道在CakePhP中是否有一种聪明的方法可以将几个公共列添加到不同的表中。我可以使用一个与这些表有关系的公共表,但是否有一种行为或类似的机制:

使用者 客户 公共个人领域


在第三个表中有一些公共字段,由cake自动获取。通过这种方式,您还可以在其他表视图中包含这些字段的公共视图。

这是在CakePHP中完成的。在这种情况下,您的模型将是User、Customer和PersonalData,您的关联是User hasOne PersonalData,Customer hasOne PersonalData,如果您希望关联从两个方向链接,PersonalData将属于User,PersonalData将属于Customer。

也许我的描述不清楚,我不得不承认,但这正是我对链接表的意思。有其他选择吗?据我所知,没有。我把你的问题解释为:这是每个人做这件事的标准方式,也是到处都推荐的方式,但我怎么能用其他非标准方式来做呢?如果不是这样,你可能想澄清你的问题到底是什么。这是一种看待问题的方式。使用另一种方法,可以避免直接建立关系,更好地重用代码。也许我把这件事复杂化了,而链接模型就是一条出路。但是在这种情况下,我是否应该添加一个表名为的列,即在CommonFields中有related_table_id和related_table_name?在这个项目的过程中,您在哪里?具体来说,数据库设计最终确定了吗?这些桌子听起来不正常。是EAV吗?Cakephp在规范化数据库模型中工作得最好,另外需要注意的是没有复合主键。如果您的设计是最终的,请提供与其他两个表相关的CommonPersonalFields的列和示例数据的更多详细信息。