2011-09-23 60 views
-1

我有一個表familiars,一個表法師和一個表mages_familiars我保持哪些熟悉屬於哪個法師。Cakephp新手模型問題

如何爲交叉參考表建模?

在此先感謝

+0

您是否閱讀過手冊?有一個[整個部分](http://book.cakephp.org/view/1039/Associations-Linking-Models-Together)致力於此。你有什麼嘗試? – Ross

+0

我找不到關於交叉參考表的地方 – chchrist

+0

那是因爲你不需要它們。 – JJJ

回答

3

你不需要中介表,除非它可能是一個熟悉的可以屬於多個法師和法師可以有多個知交(一HABTM關係)。在這種情況下,該表應該有字段id(int),created(datetime),modified(datetime),mage_id(int)和familiar_id(int)。另外,該表應該被命名爲familiars_mages

如果一個熟悉的只能屬於一個法師,一個熟悉的belongsTo法師和法師hasMany familiars。該familiars表應該有一個mage_id字段。

如果一個熟悉的只能屬於一個法師,而法師只能擁有一個熟悉的法則,則可以使用hasOne關係。在這種情況下,或者法師表有familiar_id字段或者familiars表有mage_id字段。

+0

所以我只有在有HABTM關係時才需要交叉參考表? – chchrist

+0

對。如果您閱讀關於每個關係的文檔,並且他們沒有提到參考表,那麼您不需要一個。 – JJJ

+0

感謝一切現在更清楚! :) – chchrist