在模型測試的編輯頁面上我希望能夠更新與所有關聯(hasMany)問題關聯的「Questions.order」字段從相同的形式。CakePHP:如何使用表單助手同時更新多個記錄
我已經準備好了Cake book chapter on saveMany()/saveAll()的書,我使用Model.0.field syntax
,但我無法弄清楚如何告訴CakePHP的記錄對應這輸入其中。 #
Model.#.field
是否對應問題的ID字段?下面是目前我在做什麼:
echo $this->Form->create('Question', array('action'=>'order'));
$n = 0;
foreach ($questions_array as $question) : ?>
<?php echo $this->Form->input('Question.'.$n.'.order'); ?>
<?php echo $this->Form->input('Question.'.$n.'.id', array('type'=>'hidden', 'value'=>$question['Question']['id'])); ?>
<input type="submit" value="Save" />
...
$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());
}
你增加$ n嗎? – Dave 2013-04-21 17:37:29
什麼是「Qset」,它與您所描述的問題是否相符? – Dave 2013-04-21 17:39:29
戴夫有一些很好的問題,我也看到你的表單在每一行都包含一個'提交'按鈕*(這應該不是問題,只是注意到了它)。你可以編輯你的問題並添加你的控制器代碼,看看你是如何保存你的數據的 – thaJeztah 2013-04-21 18:00:13