CakePHP使用输入助手在saveAll()上使用无效的数据格式

时间:2012-12-04 16:43:28

标签: cakephp

我第一次使用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数组应该具有有效的格式。所以我想我错过了什么,但我找不到什么。

有没有办法以有效格式获取数组,还是需要创建自定义方法来重写它?

非常感谢你。

1 个答案:

答案 0 :(得分:0)

为了保存单个模型的多个记录,该数组应该是数字索引的,因此$this->Section->saveAll($this->request->data['Section']);将为您做到这一点