Php 如何在symfony 3中设置所选EntityType字段

Php 如何在symfony 3中设置所选EntityType字段,php,doctrine-orm,symfony,Php,Doctrine Orm,Symfony,我的表单类型中有EntityType类,它从我的一个表生成数据 我的问题是,当我尝试使用doctrine方法将其插入数据库时,该实体类型字段返回{}值 下面是确切的数据库错误: An exception occurred while executing 'INSERT INTO sub_agent (company_id, name, email_address, telephone_no, mobile_no, website, registered, ip) VALUES (?, ?, ?,

我的表单类型中有
EntityType
类,它从我的一个表生成数据

我的问题是,当我尝试使用doctrine方法将其插入数据库时,该实体类型字段返回
{}

下面是确切的数据库错误:

An exception occurred while executing 'INSERT INTO sub_agent (company_id, name, email_address, telephone_no, mobile_no, website, registered, ip) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)' with params [{}, "test", "test@gmail.com", "test", "test", null, "2017-01-09 09:15:42", "127.0.0.1"]:
当我在控制器中使用
var\u dump
调试该实体字段时,我看到
公司id
正在从我的
公司实体类返回一个对象

这是我的
sub\u agent\u type
表格

public function buildForm(FormBuilderInterface $builder, array $options)
{
    $builder->add('company_id', EntityType::class, array(
        'label' => 'Company',
        'mapped' => false,
        'required' => true,
        'class' => 'SwipeBundle\Entity\Company',
        'choice_label' => 'name',
        'choice_value' => 'id',
        'expanded' => false,
        'multiple' => false,
        'placeholder' => 'Choose a Company',
        'constraints' => array(
            new NotBlank(array("message" => 'Company name is required.')),
        ),            
    ));  
}
如何将实体字段(下拉列表)的选定值设置为要保存在数据库中的表单?这是我的实体字段生成的细枝

<select id="sub_agent_company_id" name="sub_agent[company_id]" required="required">
    <option value="" selected="selected">Choose a Company</option>
    <option value="20">ABC</option>
    <option value="21">EFG</option>
    <option value="22">HIJ</option>
</select>

在类别实体中,您应该具有:

public function __toString() {
   return $this->id;
}

只需使用
company
字段而不是
company\u id
。请进一步解释。对不起,有关映射数据库和
public function __toString() {
   return $this->id;
}