entity form fieldで多対多リレーションシップを簡単に管理できます。例えばUser
場合Group
と多対多の関係のように、あなたは単にビルダーに追加することができます。
$builder->add('groups', 'entity', array(
'multiple' => true, // Multiple selection allowed
'expanded' => true, // Render as checkboxes
'property' => 'name', // Assuming that the entity has a "name" property
'class' => 'Acme\HelloBundle\Entity\Group',
);
これは、関連するエンティティが関連付けられていないながらでないとマーク(チェック)されているチェックボックスのリストを生成します。 expanded
をfalse
に設定すると、それを選択要素(複数)としてレンダリングできます。
あなたはグループが取得される方法をカスタマイズする必要がある場合もquery_builder
オプションを渡すことができ、$er
は、より複雑なシナリオではEntityRepository
'query_builder' => function(\Doctrine\ORM\EntityRepository $er) {
$qb = $er->createQueryBuilder('g');
return $qb->orderBy('g.name', 'DESC);
}
のいずれかQueryBuilder
インスタンスまたは閉鎖はcollection form typeでも見て、しかし、あなたはjQuery/Javascriptを扱わなければなりません。
ここで問題となるのは、編集ページが使用可能で使いやすいチェックボックスが多すぎるということです。そのため、私はSymfony1のようなものを探していました。 – teemup
それは今のところ私にとってはうまくいくでしょう。私は、ユーザーが希望するすべての関連付けを選択するまで、「別のものを追加」して別の単一の選択肢を得ることができるように、「ajax」する方法を見つけることを望んでいました。 –
例:MTMフィールドの表示方法を変更するには、exampe - デフォルト列ではなく、チェックボックスの行にエンティティIDを表示しますか? – olga