Bonjour,
Alors je me suis débrouillé autrement, mais je viens montrer une piste, au cas où quelqu'un aurait la même problématique.
J'ai l'impression en lisant les différents exemples trouvés sur les forum que mon tableau est incorrect.
En effet, il me semble avoir compris que le model qui est utilisé pour exécuter le saveAll ou saveAssociated ne doit pas avoir de multiples entrées dans le tableau $this->request->data.
En gros au lieu de mon tableau ci dessus j'aurais du avoir :
array(
'Client' => array(
'civilite' => 'M',
'name' => 'Nom',
'prenom' => 'Prénom',
'acompagnateur' => 0
),
'Activite' => array(
(int) 0 => array(
),
(int) 1 => array(
),
(int) 2 => array(
)
)
)
Du coup j'ai créé une table accompagnateur et cela fonctionne.
Par contre dans un soucis d'essayer de coder avec les bonnes pratiques, pour réussir un update après un save, saveAll ou autre il faut un id.
Mais lorsqu'on fait de multiple écriture dans plusieurs table, faut il indiquer l'id de chaque écriture dans la vue ?
Comme ceci :
echo $this->Form->input('Client.id', array('type' => 'hidden', 'value' => $this->request->data'Accompagnateur']'id']));
foreach ($this->request->data'Activite'] as $k => $v) {
echo $this->Form->input('Activite.'.$k.'.id', array('type' => 'hidden', 'value' => $v'id']));
}
Merci