蛋糕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