我第一次使用CakePHP(2.2.3),我遇到了这个问题。
我使用Input帮助器创建了一个简单的表单,以便尝试saveAll()
方法。
这是表单代码。没什么大不了的。
$this->Form->create('Section');
$this->Form->input("Section.0.title");
$this->Form->input("Section.1.title");
$this->Form->end('Save');
根据CakePHP的文档,为了做saveAll()
,你需要一个像这样的数组:
Array
(
[0] => Array
(
[Section] => Array
(
[title] => title 1
)
)
[1] => Array
(
[Section] => Array
(
[title] => title 2
)
)
)
但是,如果我转储$this->request->data
,我从表单中获取的数组是这样的:
Array
(
[Section] => Array
(
[0] => Array
(
[title] => title 1
)
[1] => Array
(
[title] => title 2
)
)
)
我想在这种简单的情况下使用Input帮助器时,$this->request->data
数组应该具有有效的格式。所以我想我错过了什么,但我找不到什么。
有没有办法以有效格式获取数组,还是需要创建自定义方法来重写它?
非常感谢你。
答案 0 :(得分:0)
为了保存单个模型的多个记录,该数组应该是数字索引的,因此$this->Section->saveAll($this->request->data['Section']);
将为您做到这一点