Forms 添加一个非持久化的Symfony表单复选框会导致持久化失败

Forms 添加一个非持久化的Symfony表单复选框会导致持久化失败,forms,symfony,checkbox,persist,Forms,Symfony,Checkbox,Persist,我正在尝试在Symfony中的表单中添加一个复选框。 该复选框的目的是在选中时最终删除上传的图像。 因此,它只在上传文件时显示。我还希望它在表单实体被持久化之前取消上传。 但是我现在还不在那里,应该这样做的代码现在被注释掉了。 此复选框对应于“我的文件”类中的布尔属性,以便它允许在控制器中访问其值。开始时,该属性不存在,因此我无法从entity或form/getData访问该值 我的问题是表单类型中的字段与持久性混乱。 从表格中获得的所有财产均被视为无效。即使选择了一个文件,也使用uniqid等

我正在尝试在Symfony中的表单中添加一个复选框。 该复选框的目的是在选中时最终删除上传的图像。 因此,它只在上传文件时显示。我还希望它在表单实体被持久化之前取消上传。 但是我现在还不在那里,应该这样做的代码现在被注释掉了。 此复选框对应于“我的文件”类中的布尔属性,以便它允许在控制器中访问其值。开始时,该属性不存在,因此我无法从entity或form/getData访问该值

我的问题是表单类型中的字段与持久性混乱。 从表格中获得的所有财产均被视为无效。即使选择了一个文件,也使用uniqid等重命名该文件。到刷新时间时,字段被视为空。从表单中删除DeleteFile解决了此问题。我尝试将其设置为property mapped=false,但没有效果

以下是表单中的代码:

 public function buildForm(FormBuilderInterface $builder, array $options)
{
    $builder
        ->add('file', 'file', array(
                'label' => false
            ))
        ->add('deleteFile','checkbox', array(
                'label' => 'Delete File',
                'attr' => array('class' => 'delete_file'),
                'mapped' => false,
            ))
    ;
}

谢谢你的意见。如果有更好的解决方案可以让我不必处理我感兴趣的问题,我也愿意接受该“接口”的替代解决方案。

我想了解一些我正在尝试做的事情。这是胡说八道吗?我正在考虑用JavaScript黑客来做这件事。。。