내 cakephp 앱에 Option 모델이 있습니다.cakephp에서 여러 레코드 편집 및 저장
내 옵션/인덱스보기에는 입력 및 라디오 버튼 필드가있는 2 개의 옵션이 표시됩니다. 둘 다 업데이트하고 싶지만 이상한 행동을합니다.
변경하는 옵션이 저장되지 않고 새로운 값으로 새 옵션이 삽입됩니다.
function index() {
if (!empty($this->data)) {
foreach($this->data['Option'] as $id => $value) :
$this->Option->id = $id;
$feedback = $this->Option->read();
$this->Option->saveField('value', $value);
endforeach;
$this->Session->setFlash('Opzioni aggiornate');
}
$this->Option->recursive = 0;
$this->set('options', $this->paginate());
}
여기에 게시하기 전에 나는 답을 인터넷 검색 및 실험 두 시간 동안 :
여기 내보기
<h2 class='page-title' id='manage-options'>Opzioni</h2>
<?php echo $form->create(null, array('action'=>'index')); ?>
<table>
<tr>
<td><?= $options[0]['Option']['name']?></td>
<td><?= $form->radio(
$options[0]['Option']['id'],
array(
'1' => 'Sì',
'0' => 'No'),
array('default'=> $options[0]['Option']['value'], 'legend'=>false)
);?>
</td>
</tr>
<tr>
<td><?= $options[1]['Option']['name']?></td>
<td><?= $form->input($options[1]['Option']['id'],array('label'=>false,'value' => $options[1]['Option']['value']))?></td>
</tr>
</table>
<?php echo $form->submit('Salva'); ?>
<?php echo $form->end(); ?>
그리고 내 컨트롤러입니다. 나는 약 saveAll()
알고 난 이러한 솔루션을 시도 :
http://planetcakephp.org/aggregator/items/2172-cakephp-multi-record-forms http://teknoid.wordpress.com/2008/10/27/editing-multiple-records-with-saveall/
내가 이러한 패턴에 맞게 내 코드를 조정 한을,하지만 난 '작동하지 않는'와 '작동하지 않는 사이에 (진동을 아무 결과를 얻지 나는 여분의 레코드를 얻는다 '), 그래서 나는 원래 코드를 게시하기로 결정했다.
가장 적절한 방법을 알려주시겠습니까? Cheeers, Davide
첫 번째 매개 변수는 ID가 아니며 결과 배열의 N 번째 요소를 가리키는 배열 인덱스입니다. 또한 genereated 입력 필드는 완벽하게 정확합니다 (data [Option] [id]). 어쨌든 제안 해 주셔서 감사하지만 적용되지 않습니다. – nutsmuggler