Dans mon application cakephp j'ai un modèle Option.Modifier et enregistrer plusieurs enregistrements dans cakephp
Dans mon affichage option/index, j'affiche 2 options avec des entrées et des champs de boutons radio. Je veux mettre à jour les deux, mais j'ai un comportement étrange.
L'option que je modifie n'est pas enregistrée et une nouvelle option est insérée avec la nouvelle valeur.
Voici mon avis
<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(); ?>
Et mon contrôleur:
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());
}
Avant de poster ici, j'ai passé deux heures googler pour trouver des réponses et des expériences. Je sais saveAll()
et j'ai essayé ces solutions:
http://planetcakephp.org/aggregator/items/2172-cakephp-multi-record-forms http://teknoid.wordpress.com/2008/10/27/editing-multiple-records-with-saveall/
J'ai été peaufinage mon code pour adapter ces modèles, mais je suis arrivé aucun résultat (oscillant entre « ne fonctionne pas » et « ne fonctionne pas et J'ai un enregistrement supplémentaire '), j'ai donc décidé de poster mon code original.
Pouvez-vous aider, en indiquant la meilleure façon de le faire? Cheeers, Davide
Le premier paramètre n'est pas l'ID, il s'agit d'un index de tableau pointant vers le Nième élément du tableau de résultats. De plus, les champs d'entrée générés sont parfaitement corrects (data [Option] [id]). Merci quand même pour la suggestion mais ça ne s'applique pas. – nutsmuggler