2012-01-26 5 views
2

カテゴリとArticle OneToMany関係の2つのエンティティがあります。Symfony2フォーム - OneToMany関係で子オブジェクトを追加するときの親オブジェクトのフィルタリング

Articleオブジェクトを追加/編集するためのフォームをレンダリングすると、html selectのすべてのカテゴリが表示されますが、カテゴリの一部のみを表示したいとします(将来はカテゴリを追加したいと思います異なる条件)。

カテゴリを取得するDoctrineによって自動的に行われたクエリをオーバーライドするにはどうすればよいですか?事前に

おかげで、あなたのArticleTypeであなたのカテゴリフィールドにquery_builderパラメータを渡す ニコライ

答えて

5

は、カテゴリ要素を取得するためのクエリをカスタマイズすることができます。あなたは、引数Aリポジトリを受け入れ、クエリビルダを返し閉鎖へquery_builderオプションを設定することでこれを行うことができます

$form = $this->createFormBuilder() 
->add('category', 'entity', array(
'class' => 'ArticleBundle:Category', 
    'query_builder' => function(EntityRepository $er) { 
     return $er->createQueryBuilder('c') 
         ->orderBy('c.name', 'ASC'); 
         //add more query elements here 
        },) 
) 
->getForm(); 

見る詳細here

+0

ありがとうございます! –

1

+0

ありがとうございました! –

関連する問題