Php 用实体字段的不同值填充字段类型

Php 用实体字段的不同值填充字段类型,php,symfony,doctrine-orm,Php,Symfony,Doctrine Orm,我有实体Place和id、姓名、街道、城市属性。我想让filter字段City填充不同城市的值,这些值在保存的地方可用 我的FormFieldType中有以下内容 $builder->add('city', 'entity', array( 'class' => 'AppBundle:Place', 'property' => 'city', 'query_builder' => function (EntityReposi

我有实体
Place
id、姓名、街道、城市
属性。我想让filter字段
City
填充不同城市的值,这些值在保存的地方可用

我的FormFieldType中有以下内容

$builder->add('city', 'entity', array(
        'class' => 'AppBundle:Place',
        'property' => 'city',
        'query_builder' => function (EntityRepository $repository) {
            $alias = 'p';
            $qb = $repository->createQueryBuilder($alias);

            return $qb
                ->groupBy($alias . '.city')
                ->orderBy($alias . '.city', 'ASC');
        }
    ));
这给了我以下html

<select id="place_filter_city" name="place_filter[city]">
   <option value=""></option>
   <option value="143">City 1</option>
   <option value="1">City 4</option>
   <option value="69">City 3</option><option>
</select>

城市1
城市4
城市3

option的值是实体的ID,城市是从中获取的。我需要城市名称本身作为选择的值和标签。如何存档?

使用choice type,私有属性包含所需的键值对,从controller中检索和格式化,并通过form class构造提供。您需要的是: