如何在表单类型symfony中使用查询生成器获取字段的合计和名称


How get total and name to field with query builder in formtype symfony

我想创建一个具有可用类型引用的select字段。

我有3个实体。Post,Types[typebase_id,count=0],TypesBase[名称,数量]。

我想显示=>选择=>

  • A类(3)
  • 类型B(12)

1-我需要获取TypeBase名称。

2-我需要按类型分组(Typebase_id和count=0)

3-选择的值将是Types实体的Typebase_id。

我的表格里有这个。

$builder->add('types', 'entity', array(
                    'class' => 'PostBundle:Types',
                    'query_builder' => function(EntityRepository $er) use ($user) {
                        return $er->createQueryBuilder('w')
                            ->where("w.user = :user")
                            ->setParameter('user', $user)
                            ->andWhere("w.active = :active")
                            ->setParameter('active', 0);
                    },
                ));

我尝试在Types中使用__toString,但无法获得TypeBase名称。

感谢

使用choice_label参数。文档:http://symfony.com/doc/2.7/reference/forms/types/entity.html#choice-标签

$builder->add('types', 'entity', array(
    'class' => 'PostBundle:Types',
    'query_builder' => function(EntityRepository $er) use ($user) {
        return $er->createQueryBuilder('w')
            ->where("w.user = :user")
            ->setParameter('user', $user)
            ->andWhere("w.active = :active")
            ->setParameter('active', 0);
    },
    'choice_label' => function ($type) {
        return $type->getName();
    }
));

或者只是:'choice_label' => 'name'