Symfony2嵌套形式:setter方法优先级/顺序

时间:2016-08-11 09:21:02

标签: php forms symfony

3个表格,全部嵌套在另一个表格中 项目 - > hasForm - >形成
我需要project :: setHasForm(),然后是hasForm :: setNameForm()。

目前它以相反的顺序工作,hasForm首先调用它的setter 是否有可能使这个工作,所以首先设置顶级(project :: setHasForm优先)?

- 项目

Class ProjectType extends AbstractType
{
    public function buildForm(FormBuilderInterface $builder, array $options)
    {
        $builder
            ->add('name')
            ->add('endDate')
            ->add('hasForm', HasForm::class)
        ;
    }

    public function configureOptions(OptionsResolver $resolver)
    {
        $resolver->setDefaults(array(
            'data_class' => 'namespace..\Project' //example
        ));
    }

}

- hasForm

Class HasForm extends AbstractType
{
    public function buildForm(FormBuilderInterface $builder, array $options)
    {
        $builder
            ->add('NameForm', NameForm::class)
        ;
    }

    public function configureOptions(OptionsResolver $resolver)
    {
        $resolver->setDefaults(array(
            'data_class' => 'namespace..\HasForm' //example
        ));
    }
}

- 表格

Class NameForm extends AbstractType
{
    public function buildForm(FormBuilderInterface $builder, array $options)
    {
        $builder
            ->add('name')
            ->add('description')
        ;
    }

    public function configureOptions(OptionsResolver $resolver)
    {
        $resolver->setDefaults(array(
            'data_class' => 'namespace..\Form' //example
        ));
    }
}

0 个答案:

没有答案