我在HTML中有一个数组字段:
< input type="text" name="WineDescripcion[Description][]" />
单击按钮可以复制此字段,如何通过控制器将其保存到模型中?
这是我目前的代码:
$this->Vino->VinoDescription->save($this->data);
但是这会返回一个SQL错误:
Query: INSERT INTO `vino_description` (`subtitulo`, `descripcion`, `id_vino`) VALUES (Array, Array, 60)
此外,如果我尝试将HTML中的名称更改为:
< input type="text" name="WineDescripcion[][Description]" />
这样可行,但只保存带有“NULL”值的1条记录。提前谢谢。
答案 0 :(得分:0)
在插入之前尝试在控制器中处理您的帖子数据。您尝试将值插入数组。这是不正确的。不提供发布数据中的数组值。您可以使用print_r($this->data)
查看您的帖子数据结构。
答案 1 :(得分:0)
这是如何最终解决这个问题的:
for ($i=0; $i<=count($this->data['VinoDescription'])-1; $i++) {
$this->Vino->VinoDescription->create();
$insertData = array('id_vino' => $this->Vino->id, 'subtitulo' => $this->data['VinoDescription']['subtitulo'][$i], 'descripcion' => $this->data['VinoDescription']['descripcion'][$i]);
$this->Vino->VinoDescription->save($insertData);
}
感谢亚历山大的提示。
答案 2 :(得分:-1)
foreach ($this->data as $row) {
$insertData = array('subtitle' => $row['Subtitle'], 'description' => $row['description']);
$this->Vino->VinoDescription->save($insertData);
}
也许你的语法错误subtitulo
,descripcion
。也许它应该是subtitle
和description
?