Cakephp,HABTM 协会
Cakephp, HABTM association
这里是蛋糕新手
我有两个 table。用户和事件。一个用户可以订阅多个事件。
实现这个的最佳方法是什么?
我是否必须创建另一个 table 和 link 它们,或者是否有其他更好的方法。
如果我创建一个新的 table,我如何 link 它们在蛋糕模型中?
你应该使用 HABTM 关系。
原因
看到用户将订阅多个事件并且
一个事件有多个用户订阅。
所以这是双向关系。因此,您需要下表
users
: 存储用户数据,
events
: 存储用户数据,
events_users
: 存储哪个用户加入了哪个事件,反之亦然(有n个用户的事件)
所以 users_events 将有 2 个字段 user_id , event_id ,都是外键,在这里你不需要 HABTM 关系中的主键。
如 jQuery.PHP.Magento.com 所述,您应该使用 HABTM 关系,但第三个 table 的名称应为 events_users
,因为 table 名称应按字母顺序排列。
来自文档:
Table names are in alphabetical order by convention. It is possible to
define a custom table name in association definition.
这里是蛋糕新手
我有两个 table。用户和事件。一个用户可以订阅多个事件。
实现这个的最佳方法是什么?
我是否必须创建另一个 table 和 link 它们,或者是否有其他更好的方法。
如果我创建一个新的 table,我如何 link 它们在蛋糕模型中?
你应该使用 HABTM 关系。
原因
看到用户将订阅多个事件并且
一个事件有多个用户订阅。
所以这是双向关系。因此,您需要下表
users
: 存储用户数据,
events
: 存储用户数据,
events_users
: 存储哪个用户加入了哪个事件,反之亦然(有n个用户的事件)
所以 users_events 将有 2 个字段 user_id , event_id ,都是外键,在这里你不需要 HABTM 关系中的主键。
如 jQuery.PHP.Magento.com 所述,您应该使用 HABTM 关系,但第三个 table 的名称应为 events_users
,因为 table 名称应按字母顺序排列。
来自文档:
Table names are in alphabetical order by convention. It is possible to define a custom table name in association definition.