【问题标题】:Symfony Error in Optional Form Field可选表单字段中的 Symfony 错误
【发布时间】:2016-10-18 16:40:51
【问题描述】:

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

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

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

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) 但没有任何改变。

我忽略了什么?

【问题讨论】:

    标签: php symfony symfony-forms


    【解决方案1】:

    请尝试使用empty_data 选项。

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

    【讨论】:

    • empty_data 仅适用于有效整数值。我将一个新的空类实例放在托盘上,但什么也没有。
    • 当您选择“选择实验室”选项时会发生什么?
    • 使用 'empty_data' => null 会引发数据库错误。
    • 我在 Symfony 2.7 中尝试了 empty_data + placeholder 并且成功了。在 Symfony
    猜你喜欢
    • 2021-11-21
    • 2018-11-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-29
    • 1970-01-01
    相关资源
    最近更新 更多