Je veux faire un élément SELECT avec le résultat d'une requête, je présente dans la vue:avec la forme aide et liste
echo $this->Form->input('person_id');
Je veux que la valeur soit l'identifiant de la personne, et afficher les concaténation de prenom et nom, comme ceci:
<select id="ResearchGroupPersonId" name="data[ResearchGroup][person_id]">
<option value="2">lastname2 firstname2</option>
<option value="1">lastname1 firstname1</option>
</select>
J'ai essayé est le contrôleur sans succès
$people = $this->ResearchGroup->Person->find('list',
array(
'fields' => array('Person.id', 'CONCAT (Person.lastname, " ", Person.firstname) AS fullname'),
'order' => array('Person.lastname'),
)
);
le l sql og montre que les lignes sont récupérées, elles ne sont pas affichées. Il fonctionne subjets la concaténation, ceci:
$people = $this->ResearchGroup->Person->find('list',
array(
'fields' => array('Person.id', 'Person.lastname'),
'order' => array('Person.lastname'),
)
);
donne cette
<select id="ResearchGroupPersonId" name="data[ResearchGroup][person_id]">
<option value="2">Doe</option>
<option value="1">Ray</option>
</select>
Pourquoi?
Merci beaucoup, je ne connaissais pas les champs virtuels. ça fonctionne parfaitement maintenant. – kaklon