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.