0

CakePHP(2.2.3)を初めて使用していますが、この問題が発生しています。メソッドを試すために、入力ヘルパーを使用して簡単なフォームを作成しました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
                )
        )
)

$this->request->dataこのような単純な状況で入力ヘルパーを使用する場合、配列は有効な形式である必要があると思います。何かが足りないと思いますが、何が見つかりません。

配列を有効な形式で取得する方法はありますか、それともそれを書き換えるためにカスタムメソッドを作成する必要がありますか?

事前にどうもありがとうございました。

4

1 に答える 1

0

単一のモデルの複数のレコードを保存するには、配列に数値インデックスを付ける必要があり$this->Section->saveAll($this->request->data['Section']);ます。

于 2012-12-05T08:29:33.390 に答える