2012-01-26 39 views
2

我有兩個實體 - 具有OneToMany關係的類別和文章。Symfony2形式 - 在OneToMany關係中添加子對象時過濾父對象

當我渲染用於添加/編輯Article對象的表單時,我看到了html選擇中的所有類別,但我只想看到一部分類別(將來我還想根據不同的條件)。

如何覆蓋由Doctrine自動製作的查詢類別的查詢,以便對它們進行過濾?

由於提前, 尼古拉

回答

5

你ArticleType傳遞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

您可以通過設置query_builder選項接受存儲庫中的參數,返回查詢生成器閉合做到這一點。

+0

謝謝你! –

相關問題