Ver Mensaje Individual
  #2 (permalink)  
Antiguo 01/04/2014, 16:58
Avatar de hhs
hhs
Colaborador
 
Fecha de Ingreso: junio-2013
Ubicación: México
Mensajes: 2.995
Antigüedad: 10 años, 10 meses
Puntos: 379
Respuesta: Campos vacíos en formularios embebido "collection"

Lo puedes hacer en el controlador antes de crear la Forma o con un event subscriber o event listener en la forma.
Ejemplo:
Código PHP:
Ver original
  1. $entity = new Perfil();
  2.  
  3. if($entity->getActividades()->isEmpty())
  4. {
  5.     $entity->addActividade(new Actividad());
  6. }
  7.  
  8. $form   = $this->createCreateForm($entity);

Con el Event Listener:
Código PHP:
Ver original
  1. $builder->addEventListener(
  2.             FormEvents::PRE_SET_DATA,
  3.             function(FormEvent $event){
  4.  
  5.                 $entity = $event->getData();
  6.                 $form = $event->getForm();
  7.  
  8.  
  9.                 if($entity->getActividades()->isEmpty()){
  10.                     $entity->addActividade(new Actividad());
  11.                 }
  12.  
  13.                 $event->setData($entity);
  14.         });

Y en el controlador solo llamas al builder
Código PHP:
Ver original
  1. $entity = new Perfil();
  2. $form = $this->createCreateForm($entity);
__________________
Saludos
About me
Laraveles
A class should have only one reason to change.