2014-02-26 60 views
1

我想弄清楚以下場景的適當關係設置/模式,我想我對於關係本身有點不清楚。CakePHP的關係場景

我的模特兒:AccidentPeople

事故可能涉及許多人。一個人可能與許多事故有關。

例如:安倍和鮑勃發生了事故。安倍可能與多起事故有關。

我有一個事故表,一個人表和一個accident_people表與適當的架構。我希望用戶能夠獨立於個人和獨立於事故的人員添加事故,然後在編輯事故時將其鏈接到多個人。這可能嗎?

$people = $this->Accident->Person->find('list'); //should give me list of all people 
$this->set('people', $people); //should allow me to access a list of all people in view 

回答

2

TLDR:

你描述什麼是 「擁有屬於一對多」 的關係(也被稱爲HABTM):

http://book.cakephp.org/2.0/en/models/associations-linking-models-together.html#hasandbelongstomany-habtm


注/另一種選擇:

另一個選項是HasMany Through,它基本上是HABTM,但是專門用於連接表的模型。這讓更多的靈活性,如果你需要的不僅僅是你的連接表(ID,爲person_id和accident_id)的3場


型號約定:

如果您關注的CakePHP Model and Database Conventions ,你的「人」模式應該是「人」。

使用非標準的「可以」,但如果您正在學習Cake,那麼您現在最好堅持使用它。

(看你的代碼,正確使用「Person」作爲模型,我假設你只是在你的描述中輸入了錯誤)