Estoy intentando acceder a la entidad durante un formulario incrustado dado en la matriz CollectionType
dentro FormBuilder
:forma Symfony - Acceso Entidad en el interior del niño Tipo de entrada en una CollectionType
ParentType
Class ParentType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder->add('children', CollectionType::class, array(
'entry_type' => ChildType::class
);
}
}
ChildType
class ChildType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$child = $builder->getData(); // this returns null
}
public function getDefaultOptions(array $options)
{
return array(
'data_class' => 'Vendor\Bundle\Entity\Child',
);
}
}
Mientras esto funciona s en una forma normal, $child
se devuelve como nulo. ¿Cómo puedo acceder a la entidad Child
dentro de ChildType
?
Solicitar al qu obvia estion, ¿definitivamente tiene algún Bares en su entidad matriz que se utiliza para los datos del formulario? ¿Puedes verificar al var_dumping tu colección de barras de los datos en tu tipo de formulario principal? – user1207727
¡Maravilloso, gracias! Esto funcionó perfectamente, y también me llevó a la parte en los documentos que pasé por alto: [Cómo generar formas dinámicamente mediante eventos de formulario] (http://symfony.com/doc/current/cookbook/form/dynamic_form_generation.html) – Nick
Ah , captó mi comentario antes de que lo borrara, excluí perezosamente la parte de su respuesta con el formulario, tratando de continuar con el propio constructor. Entonces decidí usar tu solución textualmente, y funcionó. Perdón por confundir! – Nick