Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.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如何使用表单和实体类型持久化多个_Php_Symfony_Symfony Forms_Symfony 2.8 - Fatal编程技术网

Php Symfony2如何使用表单和实体类型持久化多个

Php Symfony2如何使用表单和实体类型持久化多个,php,symfony,symfony-forms,symfony-2.8,Php,Symfony,Symfony Forms,Symfony 2.8,我有三个表team,groups和groupu-team组与组有一个oneToMany,组与组有一个OneToOne。一个小组可以有多个小组,一个小组只能属于一个小组。这是我的数据库设计 如何将组和团队的oneToMany关系持久化到第三个表中,同时在数据库中创建groups记录 这是组实体表单类型 class GroupsType extends AbstractType { public function buildForm(FormBuilderInterface $build

我有三个表
team
groups
groupu-team
<代码>组与
有一个
oneToMany
有一个
OneToOne
。一个小组可以有多个小组,一个小组只能属于一个小组。这是我的数据库设计

如何将组和团队的
oneToMany
关系持久化到第三个表中,同时在数据库中创建
groups
记录

这是组实体表单类型

class GroupsType extends AbstractType {

    public function buildForm(FormBuilderInterface $builder, array $options) {
        $builder
                ->add('team', 'entity', array(
                                        'class' => 'CricketBundle\Model\Entity\Team',
                                        'query_builder' => function(\Doctrine\ORM\EntityRepository $er) {
                                                            return $er->createQueryBuilder('t')
                                                                      ->groupBy('t.team')
                                                                      ->orderBy('t.team', 'ASC');
                                                            }, 
                                        'choice_label' => 'team',
                                        'multiple'     => true,
                                        'expanded'     => true,
                                        'required' => false
                                    ))
                ->add('groupname')
        ;
    }

    public function configureOptions(OptionsResolver $resolver) { 
        $resolver->setDefaults(array(
            'data_class' => 'CricketBundle\Model\Entity\Groups'
        ));
    }
}
下面是groups实体表单的呈现方式


看看这是否有帮助:@craigh是的,这当然有帮助,当我发布这个问题时,我的假设是错误的,它应该是一个一对一/多对一的关系,第三个表必须有一个单独的实体和表单类型,然后使用cascadepister创建组行,并使用foreach循环将关联持久化到第三个表中。使用
clone
命令flush()插入多个group\u团队对象是必要的。我已经解决了这个问题,但我不知道如何处理这个被错误问到的问题。你总是可以用正确的问题编辑你的问题,然后用你解决问题的方式自己回答。