Mit Symfony2 entity field type einem property
Option angeben soll:Symfony2 Entity Feldtyp Alternativen zu "Eigenschaft" oder "__toString()"?
$builder->add('customers', 'entity', array(
'multiple' => true,
'class' => 'AcmeHelloBundle:Customer',
'property' => 'first',
));
Aber manchmal ist dies nicht ausreichend: etwa zwei Kunden mit dem gleichen Namen denken, so zeigt die E-Mail (unique) würde obligatorisch sein.
Eine andere Möglichkeit ist __toString()
in das Modell zu implementieren:
class Customer
{
public $first, $last, $email;
public function __toString()
{
return sprintf('%s %s (%s)', $this->first, $this->last, $this->email);
}
}
Die disadvances des letzteren ist, dass Sie das Unternehmen gezwungen sind in allen Formen die gleiche Art und Weise angezeigt werden soll.
Gibt es eine andere Möglichkeit, dies flexibler zu machen? Ich meine so etwas wie eine Callback-Funktion:
$builder->add('customers', 'entity', array(
'multiple' => true,
'class' => 'AcmeHelloBundle:Customer',
'property' => function($data) {
return sprintf('%s %s (%s)', $data->first, $data->last, $data->email);
},
));
Ich habe diese genau die gleiche Situation und plante auf SO bald eine Frage zu stellen ... Ich freue mich auf die Antworten. – Icode4food