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$entity = new Perfil();
if($entity->getActividades()->isEmpty())
{
$entity->addActividade(new Actividad());
}
$form = $this->createCreateForm($entity);
Con el Event Listener:
Código PHP:
Ver original$builder->addEventListener(
FormEvents::PRE_SET_DATA,
function(FormEvent $event){
$entity = $event->getData();
$form = $event->getForm();
if($entity->getActividades()->isEmpty()){
$entity->addActividade(new Actividad());
}
$event->setData($entity);
});
Y en el controlador solo llamas al builder
Código PHP:
Ver original$entity = new Perfil();
$form = $this->createCreateForm($entity);