Bonjour,

Je suis sous cakphp 3 et j'ai un soucis. En effet je souhaiterais afficher dans mes inputs types select les libellés de mes vehicules au lieux de leurs identifiants.

Voila ce que je fais dans mon controller

$catg = $this->Vehicules->Categories->find('list', array( 'recursive' => '-1', 'fields' => array('id','libelle'))); 
$this->set('catg', $catg);

Et dans la vue

echo $this->Form->input('categories_id', ['options' => $catg]);

Mais à l'affichage j'ai toujours les identifiants d'affiché

3 réponses


Lartak
Réponse acceptée

Bonjour.
Si tu veux modifier les champs utilisés pour les paires clé/valeur avec le finder list, il te faut définir dans tes options :

'keyField' => 'id', 
'valueField' => 'libelle'

Quelqu'un s'il vous plait?

Si tu change l'ordre de tes fields dans ta requête, ça change quelque chose ?

$catg = $this->Vehicules->Categories->find('list', array( 'recursive' => '-1', 'fields' => array('libelle','id')));