Bonjour à tous :) !

J'aurais une petite question pour vous :) !

Alors voilà j'ai un formulaire qui enregistre les données dans une table1. Et au moment de la sauvegarde de ces données, j'aimerais en récupérer une (un int) pour l'utiliser pour incrémenter un champs dans une table2.

Sachant que table1 belongsTo table2 et table2 hasMany table1.

J'ai essayé d'utiliser un afterSave() que je place dans le model de table1:
(table1 = posts et table2 = counters)
(j'ai nommé les variables pour que vous comprenniez mieux)

[code]function afterSave() {
$clé_reliant_les_models = $this->data['Post']['intervenant'];
$valeur_à_récupérer_dans_le_formulaire = $this->data['Post']['realduration'];
$compteur_à_incrémenter = $this->Post->Counter->field('value', array('intervenant' => $clé_reliant_les_models));
$this->Post->Counter->saveField('value', $compteur_à_incrémenter + $valeur_à_récupérer_dans_le_formulaire);
} [/code]

Je ne sais pas si ma fonction marche, car avant ça j'ai un souci : en fait mon "Post" à plusieurs sauvegardes ... Mon formulaire à plusieurs champs. La première fois l'utilisateur ne rempli que les premiers puis enregistre. Plus tard il en enregistre d'autres et il enregistre. et pour finir encore plus tard il doit revenir enregistrer le dernier champs et enregistrer pour la dernière fois. Et c'est au moment de cette dernière sauvegarde que j'aimerais que l'afterSave se déclenche vu que c'est cette valeur que je souhaite récupérer ...

En espérant que ça soit clair si vous avez besoin de précisions n'hésitaient pas :) !

merci :) !

Aucune réponse