Bonjour à tous,

J'ai une petite question:

Je crée un formulaire pour ajouter un client à ma base de données. Dans le formulaire j'ajoute une ligne catégorie pour associer mon client à une catégorie. Donc cakephp sais qu'avec l'association BelongsTo, j'ai un select pour choisir la catégorie. Seulement il ne m'affiche pas les données possibles. Est ce normal ? Ou alors cakephp ne va pas jusque là ?

Je me posait juste la question, ou alors j'ai peu être oublié quelque chose qui permettrait de le faire.

En vous remerciant :)

Bryan.

4 réponses


Naïr
Réponse acceptée

Le BelongsTo ne va pas jusque là non.
Il faut d'abord que dans ton controller tu récupères la liste des catégories (ex: $categories = $this->Categories->Find('All'); ) et que tu passes le résultat à ta vue.

Ensuite, dans ta vue, à l'aide de l'helper form, tu renseignes ton select avec le résultat de ta requête précédente (ex : echo $this->Form->select('category_id', $categories);)

Pour résumé :
dans ton controller :

$categories = $this->Categories->Find('All');

dans ta vue :

echo $this->Form->select('category_id', $categories);

amethyste
Réponse acceptée

+1 Naïr
Juste remplace le

$categories = $this->Categories->Find('All');

par le moins gourmand

$categories = $this->Categories->find('list');

Je ne connaissais pas cette option du find(), merci :)

bryou16
Auteur

merci à vous.

j'avait la solution, je me demandait juste pourquoi le belongsTo n'allait pas aussi loin. C'est dommage :)