Cakephp,HABTM协会

时间:2015-02-07 09:49:20

标签: cakephp

在这里新蛋糕。

我有两张桌子。用户和事件。用户可以订阅多个事件。

实施此方法的最佳方法是什么?

我是否必须创建另一个表并链接它们,还是有其他更好的方法。

如果我创建了一个新表,我如何在蛋糕模型中链接它们?

2 个答案:

答案 0 :(得分:2)

正如jQuery.PHP.Magento.com所说,您应该使用HABTM关系,但第三个表的名称应该是events_users,因为表名应该按字母顺序排列。

来自doc:

  

表名按惯例按字母顺序排列。有可能   在关联定义中定义自定义表名。

答案 1 :(得分:1)

您应该使用HABTM关系。

<强>原因

请参阅用户将订阅多个事件和

一个活动有多个用户订阅。

所以这是双向关系。因此,您需要以下表格

users:存储用户数据

events:存储用户数据

events_users:存储哪个用户加入了哪个事件,反之亦然(有n个用户的事件)

所以users_events将有2个字段user_id,event_id,两个都是外键,在这里你不需要HABTM关系中的主键。