symfony2 + 学说:修改 `onFlush` 上的子实体:“无效参数数量:绑定变量的数量与令牌数量不匹配”

2024-01-05

我有一个1:m之间的关系Subitem and SubitemColor。现在我想将一些数据保存在onFlush修改一些数据SubitemColor。问题:执行控制器时我收到以下错误消息,您也可以在下面看到:

执行“INSERT INTO SubitemColor”时发生异常 (代码、precio、pvp_推荐、文件名、activado、en_stock、区域、 Lets_fix_width_or_height_in_list,lets_fix_width_or_height_in_show, position_level_0、position_level_1、position_brand、subitem_id、 color_id) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)' 与 参数[2]:

SQLSTATE[HY093]:无效的参数数量:绑定变量的数量 与令牌数量不匹配

  public function onFlush(Event \OnFlushEventArgs $eventArgs)
  {
    $em = $eventArgs->getEntityManager();
    $uow = $em->getUnitOfWork();

    $updates = $uow->getScheduledEntityUpdates();
    $insertions = $uow->getScheduledEntityInsertions();

    /////////// NEW SUBITEM_IMAGE OR SUBITEM_COLOR UPLOADED //////////
    foreach ($insertions as $entity) {


      if ($entity instanceof SubitemColor) {
        //$entity->setLetsFixWidthOrHeightInList("jander");
        //$entity->setLetsFixWidthOrHeightInList('width');
        //$entity->setLetsFixWidthOrHeightInShow('width');

        $entity->setEnStock(2);

        $metaSubitemColor = $em->getClassMetadata(get_class($entity));

        $uow->computeChangeSet($metaSubitemColor, $entity);

        $uow->persist($entity);
      }
    }
  }

//controller - controller - controller - controller
    $subitem = new Subitem();

    $em = $this->getDoctrine()->getManager();

    $subitem->setNombre("jls");
    $subitemColor = new SubitemColor();
    $subitem->addSubitemColor($subitemColor);

    $em->persist($subitem);
    $em->persist($subitemColor);

    $metaSubitem = $em->getClassMetadata(get_class($subitem));
    $em->flush();

Use recomputeSingleEntityChangeSet方法而不是computeChangeSet

computeChangeSet该方法应该仅由原则调用,并且为标记为刷新操作持久性的每个实体调用一次。

当您从数据库加载实体时,学说会将其数据保存到originalEntityData数组,然后检查实体是否不存在原始数据,则该实体是新的,学说将其当前数据保存为原始数据,并使用每个字段值填充更改集。

第二次致电时computeChangeSet学说具有新创建实体的原始数据,并且仅计算自上次调用以来更改的字段的更改集computeChangeSet method.

这就是为什么你永远不应该打电话computeChangeSet.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

symfony2 + 学说:修改 `onFlush` 上的子实体:“无效参数数量:绑定变量的数量与令牌数量不匹配” 的相关文章

  • Symfony 3.0 - 无法加载资源“。” - 自定义路线加载器

    我正在努力将我的一个项目升级到 SF 3 该项目使用了一些自定义路由加载器 这些加载器之前工作没有问题 现在我得到了FileLoaderLoadException指出resource 无法加载 我看了一下文档 http symfony co
  • 如何翻译 Sonata Admin Bundle 中的标签

    我正在使用 Symfony 2 3 和 Sonata Admin Bundle 我知道我可以用这种方式翻译标签 gt add shortDescription null array label gt shortDescriptionTran
  • Doctrine/Symfony 如何使用数组中的特定数据更新实体

    我环顾四周太久了 但没有运气 我的情况是 我有一个有点大的表 60 列 在 Doctrine Entity 中表示 在 FosREST 上工作 我想要实现的是 我想发送带有特定数据的 JSON 例如 phone gt new phone n
  • 查找当前视图的twig文件

    当我想修改当前视图中的某些内容时 我必须查看操作和控制器 DefaultController indexAction例如 转到操作函数 indexAction 并查看该操作正在渲染什么文件 有没有更快的方法来找出哪个文件 xxxx html
  • 将 PDF 存储在 MySQL 数据库中

    我正在开发一个应用程序 我需要创建 PDF 格式的发票 我在用着pdf包 https github com psliwa PdfBundle并且 PDF 文件已正确创建 public function helloAction format
  • 使用 Doctrine2 时的多重歧视级别

    我正在使用 Doctrine2 来管理我的模型 如下 有一个抽象概念Content与复合模式Gallery 也是一个抽象概念Media从中Video and Image继承 我的选择是添加鉴别器Content and Media表以便区分G
  • 从 Symfony2 中的服务重定向

    我有一项查找页面数据的服务 但如果找不到该数据 则应重定向到主页 对于我的一生 我不知道如何在 Sf2 中做到这一点 有很多不同的方法可以使用服务和路由器 但似乎都不起作用 namespace Acme SomeBundle Service
  • 下拉 Ajax onchange SonataAdminBundle Symfony2 问题

    我正在尝试在 SonataAdminBundle 中实现 onchange 下拉菜单 我的实体就像 class BuilderHomePage var integer ORM Column name id type integer null
  • Symfony 2.7 / 3 - Doctrine:您请求了一个不存在的服务“fos_user.doctrine_registry”

    今天做作曲家更新时突然出现以下错误 Symfony Component DependencyInjection Exception ServiceNotFoundException 您请求了一项不存在的服务 fos user doctrin
  • Symfony 3新建项目报错

    我开始编写有关 Symfony 3 的教程 在使用以下命令创建新项目时遇到问题 php symfony phar new Symfony 我有这个错误 GuzzleHttp Exception RequestException Error
  • 如何在 Symfony 4 中为测试环境设置数据库

    我对如何在 symfony 4 中为测试环境设置数据库感到困惑 我曾经在配置测试 ymlsymfony 3 及以下版本中的文件 最佳做法是什么 我应该重新创建一个学说 yaml文件输入配置 包 测试 该文档提到如何通过编辑 phpunit
  • Doctrine2:入门教程“没有要处理的元数据类”

    我已经将本教程的第一部分运行了三遍 到目前为止 在这里或其他地方进行的大量搜索都无法帮助我使其发挥作用 我收到 没有要处理的元数据类 当我尝试时 php vendor bin doctrine orm schema tool update
  • 如何使用多个数据库设置 symfony 3 学说迁移?

    我在验证和更新模式时努力让 symfony doctrine 排除数据库视图 我第一次尝试没有教条迁移 看到这个问题 https stackoverflow com questions 46775200 symfony 3 doctrine
  • 将自定义参数传递给 Symfony2 中的自定义 ValidationConstraint

    我正在 Symfony2 中创建一个表单 表格只包含一个book字段允许用户在列表中进行选择Books实体 我需要检查是否选择了Book属于Author我的控制器里有 public class MyFormType extends Abst
  • Symfony2中如何获取所有post参数? [复制]

    这个问题在这里已经有答案了 我想获取a的所有post参数symfony http symfony com Form I used all parameter this gt get request gt getParameterHolder
  • symfony api 平台深度

    到目前为止 我们一直在 Symfony Doctrine 和 Serializer 深度方面苦苦挣扎 我希望能够使用 Symfony 提供一级深度的 JSON REST API 从而允许我直接从视图管理我的 外键 和关系逻辑 GET peo
  • 创建即用型 symfony 2 应用程序 zip

    我创建了一个 symfomy 应用程序包 可用于从 Android 应用程序收集崩溃报告 对于那些对 Android 和 ACRA 感兴趣的人 https github com marvinlabs acra server https gi
  • Symfony2 自定义密码编码器(bcrypt)

    我已经编写了自己的密码编码器 它实现了PasswordEncoderInterface class BCryptPasswordEncoder implements PasswordEncoderInterface protected en
  • Symfony2 - 将 Swiftmailer 添加为服务

    我想将我的电子邮件代码从我的控制器移至服务中 到目前为止我已完成以下操作 在 services yml 中创建条目 在 acme demobundle services EmailManager php 中创建了一个 EmailManage
  • symfony easyadmin 自定义表单生成器

    我使用 symfony 3 4 和 easycorp easyadmin bundle 1 17 配置表单 easyadmin form fields type group label Basic Information icon enve

随机推荐

  • 是否有 R 函数用于按组连续估算缺失年份值?

    我的数据框看起来像 df lt data frame ID c A A A A B B B B C C C C D D D D grade c KG 01 02 03 KG 01 02 03 KG 01 02 03 KG
  • 自动从包中的sysdata.rda加载数据

    我花了很多时间寻找可能是一个非常基本的问题的答案 但我就是找不到解决我的问题的方法 我发现的最接近的是这次交流 https stat ethz ch pipermail r devel 2011 August 061786 html从几年前
  • Android studio - 模拟器:无法 statvfs() 路径错误

    当我想在 Android Studio 3 2 中通过模拟器运行我的 android 应用程序时 出现此错误 我只想运行 Hello world 示例 Emulator Couldn t statvfs path 我遇到了同样的问题 并意识
  • 使用预先存在的访问令牌通过 ASP.NET 创建 YouTube 服务

    我一直在开发一个网站 供用户将视频上传到共享的 YouTube 帐户以供以后访问 经过大量工作 我已经能够获得活动令牌和可行的刷新令牌 然而 初始化的代码YouTubeService对象看起来像这样 UserCredential crede
  • 为 webrtc 实现 janus 网关

    我正在按照 janus 文档构建视频 MCU 系统 我根据自述文件安装了它的所有依赖项 http janus conf meetecho com docs 之后当我使用运行脚本时sh install sh我收到以下错误 In file in
  • WebRTC 候选信息末尾的数据是什么?

    我使用 Chrome 中的 WebRTC API 以及我自己根据 W3C 规范和其他问题编写的 WebSocket 脚本设置了一个基本的视频聊天应用程序 但有时 当一台 PC 通过 WebSocket 连接将 ICE 候选信息发送到另一台
  • PyCharm 性能优于 CMD python 命令

    我正在开发一个用于串行通信的 python 脚本 我正在 pyCharm 4 5 python27 和 windows 中开发它 我刚刚意识到当我在 pyCharm 上执行它时 它比我使用命令时运行得更快 python main py or
  • 证明匹配语句

    为了解决一个练习 我有以下代表整数的定义 Inductive bin Type Zero bin Twice bin gt bin TwiceOne bin gt bin 这个想法是 Twice x is 2 x 两次一x is 2 x 1
  • Ruby:Windows 路径转换

    我经常在脚本中使用长路径 因为我在 Windows 上 所以我必须将这些长路径转换为 nix 样式 并使用斜杠而不是反斜杠 如果此后您复制该路径以转到该文件夹 这没什么困难 但很烦人 因为在资源管理器中您必须再次执行相反的操作 所以我做了一
  • 将带符号的十进制转换为使用二进制补码编码的十六进制

    我需要编码signed通过二进制补码表示法将整数表示为十六进制 例如我想转换 e g 24375 to 0xffffa0c9 到目前为止 我一直在以下几方面开展工作 parseInt 24375 toString 2 gt 10111110
  • F# 中的“表达式问题”可以解决吗?

    我一直在看一个有趣的video http channel9 msdn com Shows Going Deep C9 Lectures Dr Ralf Lmmel Advanced Functional Programming Type C
  • 语法错误或访问冲突:1140 GROUP 列的混合 laravel

    我已经编写了这个带有分页的查询 items Item select items sub category name category name sub category slug category slug gt join sub cate
  • 使用 apache mod_proxy 缺少 Doctype HTML 部署

    我有一个奇怪的问题 我的 Vaadin 应用程序在我的计算机 本地 上运行良好 我刚刚部署了网站 现在遇到了问题 The 第一行中的标签丢失 我不知道为什么 但我认为这会导致一些问题 因为网站正在以 Quirks 模式显示 有趣的是 当我在
  • 当用户关闭(弹出)窗口时调用一些 JavaScript

    当用户关闭窗口时可以调用一些JS吗 我搜索了 JS 事件处理程序 发现只有 onunload 它会在用户离开页面时调用脚本 而不必关闭窗口 预期用途是调用 AJAX 脚本来取消设置与弹出窗口相关的一些会话 可能有也可能没有更好的方法来实现这
  • OCaml:在 GTK 中嵌入 openGL

    我想将 openGL 图形嵌入 OCaml 中的 GTK 程序中 您对如何做到这一点有什么想法吗 编辑 Tk 似乎已经解决了问题Togl http togl sourceforge net 在我的 ubuntu 中 我有包 liblablg
  • 如何在ServiceStack中使用Dapper

    目前 我使用 OrmLite 进行数据库操作 我也计划使用 Dapper ORM 但是谁能告诉我如何将 DapperORM 集成到 ServiceStack 中 我是否需要使用 Dapper 和插件来实现 IDbConnection 和 I
  • getopt 不解析参数的可选参数

    在 C 中 getopt long 不会解析命令行参数参数的可选参数 当我运行程序时 可选参数无法被识别 就像下面运行的示例一样 respond praise John Kudos to John respond blame John Yo
  • 到底什么是幺半群同态?

    我读过有关幺半群同态的内容幺半群态射 乘积和余积 http blog higher order com blog 2014 03 19 monoid morphisms products coproducts 并且无法100 理解 作者说
  • 从 AKKeyboardView 创建 MIDI 文件

    目前我正在使用AKKeyboardView本质上连接到AKRhodesPiano对象 我想知道是否有一种简单的方法可以从中生成 MIDI 文件 我看到AKKeyboardView有noteOn and noteOff函数 这确实产生了MID
  • symfony2 + 学说:修改 `onFlush` 上的子实体:“无效参数数量:绑定变量的数量与令牌数量不匹配”

    我有一个1 m之间的关系Subitem and SubitemColor 现在我想将一些数据保存在onFlush修改一些数据SubitemColor 问题 执行控制器时我收到以下错误消息 您也可以在下面看到 执行 INSERT INTO S