从Symfony2中的表单获取数据后克隆对象

塞尔吉奥·内格里

我确定我在这里错过了一些非常基本的东西。

我有一个表单,当用户更新表单的字段时,我不想更新基础实体,但想用新值创建一个新实体。

要克隆教义实体,我按照此处的指示进行操作

所以我的代码是(假设我要克隆id = 3的对象:

    $id = 3;
    $storedBI = $this->getDoctrine()
                     ->getRepository('AppBundle:BenefitItem')
                     ->find($id);
    $form = $this->createForm(new BenefitItemFormType(), $storedBI);

    $form->handleRequest($request);

    if ($form->isValid())
        {
            $em = $this->getDoctrine()->getManager();  
            $newBI = clone $form->getData();
            $em->persist($newBI);
            $em->flush();
        }

它根本行不通。它使用从表单传递的新数据正确地创建了一个新对象(可以),而且还使用相同的新数据更新了“旧”存储的对象。

任何的想法?

本杰明·帕普(Benjamin Paap)

您必须在表单创建期间克隆对象:

$form = $this->createForm(new BenefitItemFormType(), clone $storedBI);

如果这不起作用,detach请首先尝试克隆的对象。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

从symfony2中的表单获取数据

来自分类Dev

使用从表中获取的数据填写表单-Symfony2

来自分类Dev

在symfony2中提交后修改表单值

来自分类Dev

symfony2:获取控制器中的表单错误

来自分类Dev

在Symfony2中访问HTML表单数据

来自分类Dev

在Symfony2中访问HTML表单数据

来自分类Dev

从Symfony2中的收集表单更新数据

来自分类Dev

Symfony2使用AJAX获取表单

来自分类Dev

从symfony2学说的结果中获取对象的价值

来自分类Dev

无法从Symfony2中的实体获取数据

来自分类Dev

在获取数据时symfony2中的语义错误

来自分类Dev

无法从Symfony2中的实体获取数据

来自分类Dev

在Symfony2中创建服务表单

来自分类Dev

Symfony2表单data_class工厂用于创建数据对象

来自分类Dev

将重音字符é插入到Symfony2中的表单中后,如何将重音字符é保存为é在mysql数据库中?

来自分类Dev

Symfony2表单组件可变表单调查数据

来自分类Dev

Symfony2获取表格数据

来自分类Dev

Symfony2获取表格数据

来自分类Dev

在Symfony2中提交表单后填充第二个实体

来自分类Dev

Symfony2:提交后如何在侦听器中删除表单字段

来自分类Dev

在Symfony2中提交表单后填充第二个实体

来自分类Dev

提交后,Symfony2表单始终为空

来自分类Dev

表单提交/验证后,Symfony2设置Entity属性

来自分类Dev

绑定后Symfony2抛出表单错误

来自分类Dev

提交后,Symfony2表单始终为空

来自分类Dev

在控制器中获取Symfony2表单的“ action”属性

来自分类Dev

在Symfony2控制器中获取表单值,Child不存在

来自分类Dev

实体表单在Symfony2中获取空值

来自分类Dev

从Symfony中的表单获取文件对象

Related 相关文章

热门标签

归档