我有两个实体 - 具有 OneToMany 关系的类别和文章。
当我呈现用于添加/编辑文章对象的表单时,我在 html select 中看到了所有类别,但我只想看到一部分类别(将来我还想动态添加类别,根据不同状况)。
如何覆盖由 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
关于forms - Symfony2 表单 - 在 OneToMany 关系中添加子对象时过滤父对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9012317/