可选表单字段中的 Symfony 错误

Symfony Error in Optional Form Field

我在 Symfony 2.7 中有下一个表单:

$form = $this->createFormBuilder($entity)
            ->add('laboratorio',null, array('required'=>false)->getForm();

"laboratorio" 是实体类型的字段。但是当我提交没有 select 值的表单时,我得到了下一个错误:

An exception occurred while executing 
'SELECT n0_.id AS id0, n0_.codigo AS codigo1,
n0_.nombre AS nombre2 FROM nom_laboratorio 
n0_ WHERE n0_.id IN (?)' with params [""]:

我认为当可选字段为空时,Symfony 不应该尝试通过他的 id 来查找实体。

即使我尝试在控制器中使用 $this->submit($request,true) 而不是 $this->handleRequest($request) 但没有任何变化。

我忽略了什么?

请尝试使用empty_data选项。

$form = $this->createFormBuilder($entity)
    ->add('laboratorio',null, array(
        'required'    => false,
        'placeholder' => 'Choose the laboratorio',
        'empty_data'  => null,
    )->getForm();