蛋糕newb在这里。Cakephp,HABTM协会
我有两个表。用户和事件。用户可以订阅多个事件。
实现此目的的最佳方法是什么?
我是否必须创建另一个表并将它们链接起来,还是有其他更好的方法。
如果我确实创建了一个新表格,我该如何将它们链接到蛋糕模型中?
蛋糕newb在这里。Cakephp,HABTM协会
我有两个表。用户和事件。用户可以订阅多个事件。
实现此目的的最佳方法是什么?
我是否必须创建另一个表并将它们链接起来,还是有其他更好的方法。
如果我确实创建了一个新表格,我该如何将它们链接到蛋糕模型中?
您应该使用HABTM关系。
原因
见用户订阅多个事件和
一个事件有多个用户订阅了。
所以这是双向关系。因此,你需要下面的表格
users
:存储用户的数据,
events
:存储用户的数据,
events_users
:成存储用户加入哪个事件,反之亦然(与用户的n个活动)
因此,users_events将有2个字段user_id,event_id,都是外键,在这里你不需要HABTM关系中的主键。
不能要求更好的答案。非常感谢。 – Kanishka 2015-02-08 11:11:12
@ kanishka,没有问题,我很高兴你与cakePHP合作。 – 2015-02-08 11:51:21
正如jQuery.PHP.Magento.com所说,您应该使用HABTM关系,但第三个表的名称应该是events_users
,因为表名应该按字母顺序排列。
从DOC:
表的名字都在按照惯例字母顺序排列。可以通过关联定义 定义一个自定义表名。
我忘了它,更新了答案。 – 2015-02-08 11:29:41
你应该使用蛋糕模型,因为它加入了表格。当你从表格搜索时你不需要加入它。 – 2015-02-07 10:09:47
首先阅读文档** [http://book.cakephp.org/2.0/en/models/associations-linking-models-together.html](http://book.cakephp.org/2.0/en/ models/associations-linking-models-together.html)** – ndm 2015-02-07 10:45:46
谢谢。我懂了。 – Kanishka 2015-02-08 11:11:34