Usando Symfony2 entity field type uno debe especificar property
opción:Tipo de campo de entidad Symfony2 alternativas a "propiedad" o "__ aString()"?
$builder->add('customers', 'entity', array(
'multiple' => true,
'class' => 'AcmeHelloBundle:Customer',
'property' => 'first',
));
Pero a veces esto no es suficiente: pensar en dos clientes con el mismo nombre, por lo que mostrará el correo electrónico (única) sería obligatorio.
Otra posibilidad es implementar __toString()
en el modelo:
class Customer
{
public $first, $last, $email;
public function __toString()
{
return sprintf('%s %s (%s)', $this->first, $this->last, $this->email);
}
}
Los disadvances de esto último es que son obligados a mostrar la entidad de la misma manera en todas sus formas.
¿Hay alguna otra manera de hacerlo más flexible? que quiere decir algo así como una función de devolución de llamada:
$builder->add('customers', 'entity', array(
'multiple' => true,
'class' => 'AcmeHelloBundle:Customer',
'property' => function($data) {
return sprintf('%s %s (%s)', $data->first, $data->last, $data->email);
},
));
tengo esta misma situación exacta y tenía la intención de plantear una pregunta en tan poco tiempo ... Estoy deseando que llegue el responder. – Icode4food