Bonjour à tous,
J'ai un petit soucis dans un formulaire avec un select multiple.
On a N users qui s'occupent de N websites.
Autrement dit, un site appartient a un ou plusieurs utilisateurs et réciproquement.
Dans le formulaire d'édition d'un site, on peut assigner plusieurs utilisateurs au site :
<?= $this->Form->create($website) ?>
<fieldset>
<legend><?= __('Edit Website') ?></legend>
<?= $this->Form->input('name') ?>
<?= $this->Form->input('url') ?>
<!-- select multiple ici : -->
<?= $this->Form->input('users._ids') ?>
</fieldset>
<?= $this->Form->button(__('Submit')); ?>
<?= $this->Form->end() ?>
Tout fonctionne parfaitement mis à part que dans mon select, j'ai les id des utilisateurs au lieu de leur username.
Le html généré par le helper ressemble à ça :
<select>
<option value="1">1</option>
<option value="2">2</option>
</select>
Et j'aimerais qu'il ressemble à ça :
<select>
<option value="1">Toto</option>
<option value="2">Titi</option>
</select>
J'ai essayé de passer en options un tableau d'utilisateur mais ça ne marche pas non plus.
Au mieux, je peux récupérer mes users comme une liste d'objets mais ça ne m'aide pas plus !
Quelqu'un aurait-il une piste ?
L'attribut label permet de configurer la balise <label>.
Du coup, ce n'est pas vraiment ce que je cherche !
Mais merci quand même :D
Bonsoir, pardon de me suis tromper (me frapper pas !),
Pour ma part, j'ai fait cela :
<?php
$users = $this->...->Users->find('list', ['limit' => 200]);
Puis sur ma vue :
<?= $this->Form->input('user_id', ['options' => $users, 'empty' => true]); ?>
J'ai donc ce résultat :
<select>
<option value="1">John Doe</option>
<option value="2">Jane Doe</option>
<option value="3">Mark Doe</option>
</select>
Hello,
J'ai trouvé ! Il m'a fallu du temps car je ne cherchais pas dans la bonne direction...
Le problème se situait au niveau de ma table UsersTable.
Il fallait indiqué le champs à utiliser pour l'affichage, ce que je n'avais pas fait.
Donc dans initialize(), on set :
$this->displayField('username');
Côté vue, nos deux versions fonctionnent Xen0risDEV !
Merci !