调用关系字段时是否可以在表单类型中使用集合?
这就是我想要做的事情:
我和候选人实体之间有关系。区域候选人可以属于多个区域的实体。
我以这种方式设置表单类型:
候选人类型
$builder
->add('name')
->add('district', 'collection', array('type'=>new districtsChoiceType()))
区域选择类型
$builder
->add('candidate', 'entity', array(
'class' => 'CMSElectionsBundle:districts',
'query_builder' => function(EntityRepository $get) {
return $get->createQueryBuilder('p')->where('p.status = 1')->orderBy('p.id', 'ASC');
}, 'property' => 'name', 'label' => ' '))
所以我在这里面临两个问题:
当我尝试编辑现有候选人时,我收到以下错误:
Expected argument of type "array or (\Traversable and \ArrayAccess)", "Proxies\__CG__\CMS\ElectionsBundle\Entity\districts" given
答案 0 :(得分:0)
我会为candidateType执行此操作:
$builder
->add('districts', 'entity', array(
'label' => 'Districts',
'class' => 'CMSElectionsBundle:District',
'query_builder' => function(\CMS\ElectionsBundle\Entity\DistrictRepository $er) {
return $er->createQueryBuilder('a')
;
},
'property' => 'choose one property from district',
'expanded' => true,
'multiple' => true,
'required' => true,
))
您能否向我们展示您在两个实体中用于创建关系的代码?