Symfony 2.8表单EntityType返回单个值

Symfony 2.8表单EntityType返回单个值,symfony,doctrine-orm,symfony-2.8,Symfony,Doctrine Orm,Symfony 2.8,只是尝试从数据库表中填充一个select字段。这只是一个简单的表,其中有一个主键列和另一个名为type的列 仅用于测试,示例表包括: id type 1 Sample 1 2 Sample 2 3 Sample 3 创建表单时: $builder ->add('account_type', EntityType::class, array( 'class' => 'AppBundle:AppAccountTypes

只是尝试从数据库表中填充一个select字段。这只是一个简单的表,其中有一个主键列和另一个名为type的列

仅用于测试,示例表包括:

id    type
1     Sample 1
2     Sample 2
3     Sample 3
创建表单时:

$builder
       ->add('account_type', EntityType::class, array(
            'class' => 'AppBundle:AppAccountTypes',
            'choice_label' => 'type'
        ));
我的选择下拉列表只是将第一个条目重复3次

<select id="add_account_form_account_type" name="add_account_form[account_type]" class="form-control">
<option value="1">Sample 1</option>
<option value="1">Sample 1</option>
<option value="1">Sample 1</option>
</select>
细枝模板:

{% extends 'base.html.twig' %}

{% block body %}
    <h1>{{ page_title }}</h1>
    {{ form_start(form) }}
    {{ form_widget(form) }}
    {{ form_end(form) }}
{% endblock %}
{%extends'base.html.twig%}
{%block body%}
{{page_title}}
{{form_start(form)}}
{{form_widget(form)}
{{form_end(form)}}
{%endblock%}

我这里缺少什么?

可能是您需要使用以下代码:

$builder
   ->add('account_type', EntityType::class, array(
        'class' => 'AppBundle:AppAccountTypes(Your Entity Class)',
        'mapped' => false,
        'choice_label' => 'type'
    ));
因为正如我在代码中看到的,没有一个字段的名称是
帐户类型
,这可能就是问题所在

按以下方式更改控制器:

$form = $this->createForm(AddAccountForm::class (Your form class), $account);

可能您需要使用以下代码:

$builder
   ->add('account_type', EntityType::class, array(
        'class' => 'AppBundle:AppAccountTypes(Your Entity Class)',
        'mapped' => false,
        'choice_label' => 'type'
    ));
因为正如我在代码中看到的,没有一个字段的名称是
帐户类型
,这可能就是问题所在

按以下方式更改控制器:

$form = $this->createForm(AddAccountForm::class (Your form class), $account);

你的控制器和细枝是什么样子的?只是为了测试而更新、简化了一切。我肯定我错过了一些非常明显的东西,但我看不到。从我所看到的来看,看起来很好。。。可能也会尝试发布实体和存储库——尽管我怀疑这是否有任何明显的奇怪之处。一切看起来都很好。可能会发布您的
AppAccountTypes.php
Entity文件。通过查看AppAccountTypes.php找到它。条令中有一个bug或特性:映射:导入。ap_account_types表id的id列使用了tinyint。Symfony使用布尔值而不是整数字段生成实体。这个:你的控制器和细枝看起来像什么?为了测试,更新、简化了一切。我肯定我错过了一些非常明显的东西,但我看不到。从我所看到的来看,看起来很好。。。可能也会尝试发布实体和存储库——尽管我怀疑这是否有任何明显的奇怪之处。一切看起来都很好。可能会发布您的
AppAccountTypes.php
Entity文件。通过查看AppAccountTypes.php找到它。条令中有一个bug或特性:映射:导入。ap_account_types表id的id列使用了tinyint。Symfony使用布尔值而不是整数字段生成实体。这: