我想创建一个具有可用类型引用的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'
。