CakePHP: Как обновить несколько записей одновременно с помощью помощника по форме
На странице редактирования модели Test я хочу иметь возможность обновить "Questions.order» поле на все этоs (связанные с hasMany) вопросы из той же формы.
мы готовыТорт книга главы о saveMany () / saveAll () в книге, и ям, используяModel.0.field syntax
Но я могу'не могу понять, как сказать CakePHPкоторый запись соответствуеткоторый вход. Если#
вModel.#.field
соответствовать вопросуполе идентификатора? Вот'что ям в настоящее время занимаюсь:
echo $this->Form->create( 'Question', array('action'=>'order'));
$n = 0;
foreach ($questions_array as $question) : ?>
Form->input('Question.'.$n.'.order' ); ?>
Form->input('Question.'.$n.'.id', array('type'=>'hidden', 'value'=>$question['Question']['id']) ); ?>
...
$n++;
endforeach;
$this->Question->Form->end();
Форма отправляется и отображается для сохранения, но обновленнаяorder
значения не соответствуют нужным записям записей. Что я делаю неправильно?
Обновить:
Здесьorder
действие в моем контроллере:
public function admin_order() {
$data = $this->request->data;
$this->Question->saveAll($data['Question']);
$this->Session->setFlash( "Order saved.");
$this->redirect( $this->referer() );
}