我有两个模型Firma和Znacka在 HABTM 关系中形成FirmaZnacka。我有一个带有 javascript 自动完成功能的表单,如下所示:
echo $this->Form->input("Znacka.1.id");
echo $this->Form->input("Znacka.1.name");
echo $this->Form->input("Znacka.2.id");
echo $this->Form->input("Znacka.2.name");
当用户提交表单时,我需要保存/更新/创建数据来归档:
- 如果用户输入的Znacka名称不存在,则创建它(如果存在,不要创建新的!)
- 处理关系表记录
提交的数据如下所示$this->request->data
:
array(
'Znacka' => array(
0 => array(
'id' => string '',
'nazov' => string 'First'),
1 => array(
'id' => string '',
'nazov' => string 'Second')
)
)
Firma的 id是已知的、静态的并由设置$this->Firma->id = $id;
。代码在 FirmyController 中运行,该控制器默认导入了 Firma 模型。我不仅使用表单来创建新数据,而且还更新现有数据。
我试图从 The Cookbook 中找出这一点,但没有结果。我尝试使用保存它$this->Firma->saveAssociated($this->request->data)
,还尝试了其他一些保存功能。
通过查看每个 Znacka 的名称等,我知道有一个蛮力解决方案,但我正在寻找一些没有几十行代码的不错的 CakePHP 解决方案。
我正在使用 CakePHP 2.0。谢谢你的帮助。