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团队对象是必要的。我已经解决了这个问题,但我不知道如何处理这个被错误问到的问题。你总是可以用正确的问题编辑你的问题,然后用你解决问题的方式自己回答。