forms - Symfony2 表单 - 在 OneToMany 关系中添加子对象时过滤父对象

标签 forms symfony

我有两个实体 - 具有 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/

相关文章:

php - Symfony:持久化嵌入表单并避免重复条目

php - 使用ajax提交表单数据,无需刷新

php - KnpGaufette/Symfony2/AmazonS3

java - Servlet、JSP、JavaBeans 和 HTML 表单

Java Spring启动 Controller @RequestParam给出错误 "Required String parameter '名称'不存在”

php - 如何保存变量并在另一个页面中使用它们?

php - 在 Symfony2 中为打印数据创建 ContainerAwareCommand

php - 学说迁移和固定装置 : Getting entities loaded in a migration from a fixture

php - Composer内存限制 docker

symfony - Twig - 如何有效地重用代码