0

我是 symfony 的新手。尝试用它创建一个添加和编辑表单。当我尝试添加一个选择框时,其中选择数据是从数据库中填充的,但选择框仅显示 id 作为选项列表的值和名称

 $form = $this->createFormBuilder($defaultData)
            ->add('category_id', ChoiceType::class, array(
                    'label' => 'Category',
                    'choices'  => array(
                    $category))) 

这是我的控制器部分

   <label for="exampleInputEmail1"> Category</label>
                    {{ form_widget(form.category_id, {'attr' : { 'class':'form-control'}}) }}
              </div>

我的输出是

   <option value="id">id</option>

请帮我显示名字

 <option value="id">Name</option>
4

1 回答 1

0

仅仅因为数据是从 db 填充的。然后代替 ChoiceType::class 更改为 EntityType::class

 $form = $this->createFormBuilder($defaultData)
        ->add('category_id', EntityType::class, array(
                'label' => 'Category',
                'choices'  => array(
                $category))) 

检查官方文档EntityType 字段

于 2018-06-07T08:25:45.990 回答