我有一个包含这三个字段的表单。所以在catalogLevelId中,我不需要下拉列表中的所有数据,只需要一些。怎么做?
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('title')
->add('parent', 'entity', array('class' => 'RetailMappingCatalogBundle:Catalog', 'property' => 'title'))
->add('catalogLevelId', 'entity', array('class' => 'RetailMappingCatalogBundle:CatalogLevel', 'property' => 'name'))
->add('save', 'submit', array('label' => 'Submit'))
;
}
答案 0 :(得分:1)
查询构建器可以为您执行此操作,您是否已尝试过?
use Doctrine\ORM\EntityRepository;
->add('catalogLevelId', 'entity',
array (
...,
'query_builder' => function(EntityRepository $er) {
return $er->createQueryBuilder('c')
->orderBy('c.name', 'ASC');
}))