【发布时间】:2015-02-08 19:29:05
【问题描述】:
这里是新蛋糕。
我有两张桌子。用户和事件。一个用户可以订阅多个事件。
实现这一点的最佳方法是什么?
我必须创建另一个表并链接它们还是有其他更好的方法。
如果我创建了一个新表,我如何在蛋糕模型中链接它们?
【问题讨论】:
-
你应该使用蛋糕模型,因为它加入了表格。当你从表格中搜索时,你不需要加入它。
标签: cakephp
这里是新蛋糕。
我有两张桌子。用户和事件。一个用户可以订阅多个事件。
实现这一点的最佳方法是什么?
我必须创建另一个表并链接它们还是有其他更好的方法。
如果我创建了一个新表,我如何在蛋糕模型中链接它们?
【问题讨论】:
标签: cakephp
正如jQuery.PHP.Magento.com所说,您应该使用HABTM关系,但第三个表的名称应该是events_users,因为表名应该按字母顺序排列。
来自文档:
表格名称按约定按字母顺序排列。有可能 在关联定义中定义自定义表名。
【讨论】:
你应该使用HABTM关系。
原因
查看用户将订阅多个事件并
一个事件有多个用户订阅。
所以这是双向关系。因此,您需要以下表格
users:存储用户数据,
events:存储用户数据,
events_users : 存储哪个用户加入了哪个事件,反之亦然(n 个用户的事件)
所以 users_events 将有 2 个字段 user_id , event_id ,两者都是外键,在这里你不需要 HABTM 关系中的主键。
【讨论】: