Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/240.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/api/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Symfony2嵌套表单:setter方法优先级/顺序_Php_Forms_Symfony - Fatal编程技术网

Php Symfony2嵌套表单:setter方法优先级/顺序

Php Symfony2嵌套表单:setter方法优先级/顺序,php,forms,symfony,Php,Forms,Symfony,3个表单,一个表单嵌套在另一个表单中。 项目->表格->表格 我需要project::setHasForm(),然后是hasForm::setNameForm() 目前它的工作顺序相反,hasForm首先调用其setter。 是否可以先设置顶层(project::setHasForm first)使其工作 --计划 Class ProjectType extends AbstractType { public function buildForm(FormBuilderInterface

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

目前它的工作顺序相反,hasForm首先调用其setter。
是否可以先设置顶层(project::setHasForm first)使其工作

--计划

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

--形式


在我看来,这是不可能的。Symfony表单始终将父项设置为填充的childen.IMO这是不可能的。Symfony表单始终将父项设置为填充的子项。
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
        ));
    }
}