リレーションシップ フィールドを呼び出すときにフォーム タイプでコレクションを使用することは可能ですか?
これが私がやろうとしていることです:
候補者が複数の地区に所属できる、候補者エンティティと地区エンティティの間に関係があります。
フォームの種類を次のように設定します。
候補者のタイプ
$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' => ' '))
だから私はここで2つの問題に直面しています:
- 新しい候補者を作成したい場合、地区フィールドが空で表示されます/
既存の候補を編集しようとすると、次のエラーが発生します。
Expected argument of type "array or (\Traversable and \ArrayAccess)", "Proxies\__CG__\CMS\ElectionsBundle\Entity\districts" given