CakePHP数组项目表单提交-如何恢复每个项目


CakePHP array items form submitted - how to recover each item

我在CakePHP 2中有8个表单字段,我需要在表单提交给另一个操作后获得值。

怎么做呢?

这是我的表格:

echo $this->Form->input('Instructions.instruction', array('rows' => '3'));
echo $this->Form->input('Instructions.instruction', array('rows' => '3'));
echo $this->Form->input('Instructions.instruction', array('rows' => '3'));
echo $this->Form->input('Instructions.instruction', array('rows' => '3'));
echo $this->Form->input('Instructions.instruction', array('rows' => '3'));
echo $this->Form->input('Instructions.instruction', array('rows' => '3'));
echo $this->Form->input('Instructions.instruction', array('rows' => '3'));
echo $this->Form->input('Instructions.instruction', array('rows' => '3'));

在操作中,我将接收,但这种方式只接收最后收到的:

'Instructions' => array( // Until 8
    // 'instruction one.',
    // 'instruction two.',
    $data['Instructions']['instruction']
),

数字索引您的输入,以便您可以区分。这可以通过循环来实现。

视图代码:

for ($i = 0; $i < 8; $i++) {
    echo $this->Form->input("Instructions.{$i}.instruction", array('rows' => '3'));
}

控制器:

foreach ($this->request->data['Instructions'] as $instruction) {
    // do what you will
}