2012-07-08 57 views
3

Cake的約定用於自動化模型與參考表之間的某些功能交互。如果外鍵引用了一個名爲people的表,則應該調用people_id。我如何處理一行可容納兩個人的情況,並且需要兩個人的外鍵?很明顯,我無法複製列名,有兩個people_id列。CakePHP中的同一張表的多個外鍵?

考慮一個競爭,你有兩個競爭對手。每個參賽者都在競爭對手的桌子上排成一排。比賽表需要提及這兩個競爭者。我如何做到這一點不會破壞Cake提供的自動功能?

+0

我不認爲你可以有相同名稱的2列 - 'people_id' - 爲什麼你認爲明顯,你可以? – Aprillion 2012-07-08 17:31:15

+0

[通過它的外觀](http://book.cakephp.org/2.0/en/models/associations-linking-models-together.html#belongsto),使用ORM做到這一點是不可能的。 ActiveRecord的設計模式對此太有限了。地獄..恕我直言,它甚至沒有做出簡單的'JOIN'聲明,更不用說更復雜的情況。基本上,您將不得不手動編寫查詢並檢索數據。 – 2012-07-08 17:37:05

+0

我發現這個鏈接,描述了這一過程是如何完成的:HTTP://book.cakephp.org/1.2/view/851/Multiple-relations-to-the-same-model – Adam 2012-07-08 17:43:53

回答