【问题标题】:Cakephp, HABTM associationCakephp,HABTM 协会
【发布时间】:2015-02-08 19:29:05
【问题描述】:

这里是新蛋糕。

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

实现这一点的最佳方法是什么?

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

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

【问题讨论】:

标签: cakephp


【解决方案1】:

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

来自文档:

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

【讨论】:

    【解决方案2】:

    你应该使用HABTM关系。

    原因

    查看用户将订阅多个事件并

    一个事件有多个用户订阅。

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

    users:存储用户数据,

    events:存储用户数据,

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

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

    【讨论】:

    • 找不到更好的答案。非常感谢。
    • @kanishka,没问题,我很高兴你使用 cakePHP。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-05-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多