Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Cakephp 更新HABTM关系中的数据_Cakephp_Cakephp 2.0 - Fatal编程技术网

Cakephp 更新HABTM关系中的数据

Cakephp 更新HABTM关系中的数据,cakephp,cakephp-2.0,Cakephp,Cakephp 2.0,我有两个模型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

我有两个模型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");
当用户提交表单时,我需要将数据保存/更新/创建到archieve:

  • 如果用户输入的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设置代码在默认情况下已导入Firma模型的FirmyController中运行。我不仅使用表单创建新数据,还更新现有数据

我试图从烹饪书上找到这个,但没有结果。我尝试使用
$this->Firma->saveAssociated($this->request->data)
保存它,还尝试了其他一些保存功能

我知道有一个蛮力解决方案,通过查看每个Znacka的名字等等,但我正在寻找一些没有几十行代码的好CakePHP解决方案


我正在使用CakePHP2.0。谢谢您的帮助。

关联表的名称正确吗?我认为第一个表名应该是屈折的,而不是第二个。哦,对不起,我的拼写错误。我会编辑它。