我有兩個實體 - 具有OneToMany關係的類別和文章。Symfony2形式 - 在OneToMany關係中添加子對象時過濾父對象
當我渲染用於添加/編輯Article對象的表單時,我看到了html選擇中的所有類別,但我只想看到一部分類別(將來我還想根據不同的條件)。
如何覆蓋由Doctrine自動製作的查詢類別的查詢,以便對它們進行過濾?
由於提前, 尼古拉
我有兩個實體 - 具有OneToMany關係的類別和文章。Symfony2形式 - 在OneToMany關係中添加子對象時過濾父對象
當我渲染用於添加/編輯Article對象的表單時,我看到了html選擇中的所有類別,但我只想看到一部分類別(將來我還想根據不同的條件)。
如何覆蓋由Doctrine自動製作的查詢類別的查詢,以便對它們進行過濾?
由於提前, 尼古拉
你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
您可以通過設置query_builder選項接受存儲庫中的參數,返回查詢生成器閉合做到這一點。
謝謝你! –
非常感謝! –