【发布时间】:2013-12-24 13:40:50
【问题描述】:
在带有 cakephp 2.4.3 的 mysql 数据库中。 人们总是有 3 个地址。
- 注册地址。
- 他们现在住的地方。
- 他们工作的地方。
两张表就像人的时间线。(意味着记录增加超时) 例如,如果您在现实生活中更改姓名。您将不得不在人员表中添加新记录。 1人这样的东西。
Year name address address2 address3
2013 Parker boon 13/3 huston,usa null 332/2 tansania
2014 Parker samel 13/3 huston,usa 23,NY,usa 332/2 tansania
2015 Parker samel 13/3 huston,usa 23,NY,usa 992 osky,russia
2013 年,parker boon 住在他注册的地址。 2014 年,他搬到了 23,NY,usa。 2015年在俄罗斯工作。
我有 2 个问题。
首先,我在 People 表中创建了 3 个外键(address_id,address2_id,address3_id) 并专门为 1 个人提供 3 个地址 ID。 在人员表中。 people_id(PK), 姓名 , address_id(FK), 地址2_id(FK), address3_id(FK)
在地址表中。 address_id(PK) , 地址名称
是否比在地址表 (people_id) 中制作 1 个外键更好? 在人员表中。 people_id(PK) , 名字
在地址表中。 address_id(PK) , 地址名称, people_id(FK) , 地址类型, (注册、生活、工作)
其次,无论我的方法是否糟糕。我想知道如何配置模型和 saveAssociated() 或在 cakephp 中保存交易以供学习。
【问题讨论】:
-
他们有两份工作是什么?如果他们冬天住在一个城市,夏天住在另一个城市怎么办?
-
如果 parker samel 在冬天和夏天更改了地址。只需复制这样的记录 2014 Parker samel 23,Ny,usa (for sumer) 2014 Parker samel 192,Ny,usa (for冬天)我知道它重复的太多了,但要求是记录他过去所做的一切。
标签: mysql cakephp database-design model