0

我第一次使用 CakePHP(2.2.3),我遇到了这个问题。我用 Input helper 创建了一个简单的表单来尝试这个saveAll()方法。

这是表单代码。没什么大不了。

$this->Form->create('Section');
$this->Form->input("Section.0.title");
$this->Form->input("Section.1.title");
$this->Form->end('Save');

根据 CakePHP 的文档,为了做 a saveAll(),你需要一个这样的数组:

Array
(
    [0] => Array
        (
            [Section] => Array
                (
                    [title] => title 1
                )
        )
    [1] => Array
        (
            [Section] => Array
                (
                    [title] => title 2
                )

        )

)

但是,如果我 dump $this->request->data,我从表单中得到的数组是这样的:

Array
(
    [Section] => Array
        (
            [0] => Array
                (
                    [title] => title 1
                )
            [1] => Array
                (
                    [title] => title 2
                )
        )
)

我猜想在如此简单的情况下使用 Input 助手时,$this->request->data数组应该具有有效的格式。所以我想我错过了一些东西,但我找不到什么。

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

非常感谢您提前。

4

1 回答 1

0

为了保存单个模型的多条记录,数组应该是数字索引的,所以$this->Section->saveAll($this->request->data['Section']);会为你做

于 2012-12-05T08:29:33.390 回答