Bonsoir tout le monde,
J'ai enfin réglé mon problème!!! La solution n'était pas vraiment dans la doc en ligne mais dans le CookBook!!
Le Helper Form utilise plusieurs suffixes de champ en interne pour la création de champ input datetime. Si
vous utilisez des champs nommés year, month, day, hour, minute, or meridian et rencontrez des
problèmes pour obtenir un input correct, vous pouvez définir le nom name de l’attribut pour remplacer le
behavior par défaut :
echo $this->Form->input(’Model.year’, array(
’type’ => ’text’,
’name’ => ’data[Model][year]’
));
Et donc la solution est bien dans la propriété "name"...
Par exemple, avec le code initial:
$this->Form->year("mon_champ",2000,date('Y'),array('label'=>'Année de Sortie'));
//Output:
<select name="data[Film][mon_champ][year]" label="Année de Sortie" id="FilmMonChampYear">
On voit bien que la sortie sera un array mon_champ avec un index 'year'... ce qui pose problème pour l'envoi à la base.
Du coup comme préconisé dans le CookBook, voici la solution:
echo $this->Form->year('release_date', date('Y')-50, date('Y'), array ('label'=>'Année de sortie', 'name'=>'data[Film][release_date]'));
//Output:
<select name="data[Film][release_date]" label="Année de sortie" id="FilmReleaseDateYear">
Et la magie opère... l'enregistrement en BDD se fait parfaitement...
Voilà, merci à tous ceux qui m'ont aidé :)
@ Bientôt!!