如何在Symfony4的CollectionType中获取相关对象

时间:2018-08-29 08:09:22

标签: php forms symfony symfony4

请,您能解释一下如何以CollectionType方式(嵌入表格)以子表格的形式获取对象吗?

父表单是这样的:

class ClienteRespuestasType extends AbstractType
{
    public function buildForm(FormBuilderInterface $builder, array $options)
    {
        dump ($options['data']);
        $builder
            ->add('respuestas', CollectionType::class, array(
                // each entry in the array will be an "email" field
                'entry_type' => RespuestaType::class,
                // these options are passed to each "email" type
                'entry_options' => array(
                    'attr' => array('class' => 'email-box'),
                )
            ))

            ->add('Guardar', SubmitType::class, array(
                'attr' => array('class' => 'btn btn-default'),
            ));
        }

    public function configureOptions(OptionsResolver $resolver)
    {
        $resolver->setDefaults([
            'data_class' => Cliente::class,
        ]);
    }
}

子窗体是下面的窗体。 $options['data']为空。

public function buildForm(FormBuilderInterface $builder, array $options)
{
    dump ($options['data']);
    $builder
        ->add('contestacion', null, array(
            'label' => 'HOW TO GET ATTRIBUTE OF THIS CHILD FORM'
        ))
    ;
}

Cliente和Respuesta类之间的关系:

/**
 * @ORM\OneToMany(targetEntity="App\Entity\Respuesta", mappedBy="cliente", orphanRemoval=true)
 */
private $respuestas;

谢谢!

0 个答案:

没有答案