我正在组建一个系统来跟踪客户订单。每个订单将有三个地址; a主要联系地址,账单地址和送货地址。我不希望在我的订单表中有三个地址的列,我想从一个单独的表中引用它们并有一些方法来枚举该条目,以便我可以确定该地址是主要的,运输的还是计费的。在AddressType的地址表中创建一个列并枚举它或创建另一个表 - AddressTypes - 定义地址枚举和链接到该表是否有意义?
我发现了其他涉及这个主题的问题,这就是我采用我的模型的地方。我遇到的问题是将其纳入cakePHP约定。我一直在努力将BelongsTo关系形成的方向内化 - 文档状态对我的反应方式。
任何帮助,将不胜感激,
谢谢!
发布于 2018-09-29 09:40:07
我更喜欢将hasOne,hasMany和hasAndBelongsToMany视为三种真实的关系类型。
belongsTo关系只是与前两个(hasOne / Many)所做的相反。
如果你看一下这个图,你会注意到hasOne / belongsTo和hasMany / belongsTo的配对。
另外,请注意“belongsTo”的模型是存储外键的模型(例如address_type_id
)。
所以在你的情况下,由于AddressType有多个地址(即你可以有很多家庭地址),所以地址属于地址类型(即每个地址需要一个address_type_id
)。
发布于 2018-09-29 10:11:19
表1:address_types(id,name,active)
表2:客户(id,name,active等)
表3:地址(id,address_type_id,customer_id,国家,城市,街道等)
这样客户可以拥有任意数量的地址。如果需要添加新地址类型,则不得更改客户或地址表。
https://stackoverflow.com/questions/-100000816
复制相似问题