我正在尝试为以下场景找出合适的关系设置/架构,我想我对关系本身有点不清楚。
我的模特:Accident
和People
。
事故可能涉及很多人。一个人可能与许多事故有关。
例如:Abe和Bob发生了一起事故。安倍可能与多起事故有关。
我有一个事故表,一个人员表和一个带有相应模式的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
答案 0 :(得分:2)
<强> TLDR:强>
您所描述的是“拥有和属于许多人”的关系(也称为HABTM):
注意/另一个选项:
另一个选项是HasMany Through,它基本上是HABTM,但是有一个专门用于连接表的模型。如果您需要的不仅仅是连接表中的3个字段(id,person_id和accident_id),这样可以提高灵活性
模型惯例:
如果您关注CakePHP Model and Database Conventions,您的“人物”模型应该是“人物”。
使用非标准是“没关系”,但如果你正在学习Cake,那么你现在最好还是坚持使用它们。
(查看你的代码,正确使用“Person”作为模型,我假设你在描述中输错了)