2017-08-09 2 views
1

Je veux choisir le nom de champ déroulant de l'expéditeurImpossible de définir la source dans DropdownField

DropdownField::create('Sender','Sender')->setSource(Member::get()->map('ID','FirstName'))->setEmptyString('Select one'), 

Dans CMS je vois FirstName. Mais quand je rends dans le modèle

<% loop LettersSearchResults %> 
    ...... 
     <td >$Sender</td> 

il montre l'ID, pas le prénom. Quel est le problème?

Répondre

3

Member::get()->map('ID','FirstName') définit ID comme clé et Prénom comme titre afin que l'ID soit enregistré dans la base de données - titre est utilisé uniquement pour remplir la liste déroulante.

Si vous avez une relation has_one sur le Dataobject dans lequel vous enregistrez, vous pouvez enregistrer le SenderID et faire Sender.FirstName dans le modèle à la place.

+0

Merci Lorentz pour sa solution! – alex