如何将实体重新保存为原则 2 中的另一行

2023-12-07

假设我有实体$e。是否有任何通用方法将其存储为另一行,该行将具有相同的实体数据但另一个主键?

为什么我需要这个:我正在实施某种时态数据库架构,我只需要创建另一行,而不是更新该行。


尝试克隆并将以下方法添加到您的实体中

public function __clone() {
    $this->id = null;
}

您可能需要detach持久化之前的实体。我现在没有方便的开发机器来测试这个。

$f = clone $e;
$em->detach($f);
$em->persist($f);
$em->flush();

Update

刚刚尝试使用一个简单的 SQLite 演示。你不需要做任何事情。以下内容对我有用,无需添加__clone()方法或做任何其他不寻常的事情

$new = clone $old;
$em->persist($new);
$em->flush();

一旦冲洗完毕,$new实体有一个新的 ID 并在数据库中保存为新行。

我仍然会通过以下方式将 ID 属性清空__clone()方法,因为它从纯模型角度来看是有意义的。

Update 2

深入研究 Doctrine 代码,这是因为生成的代理类实现了__clone()这条重要的线

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

如何将实体重新保存为原则 2 中的另一行 的相关文章

  • PHP MySql 百分比

    我的问题是关于百分比 我不是专家 所以我会尽力以更好的方式进行解释 我的 mysql 服务器中有一个表 假设有 700 条记录 如下所示 Name country language Birth Lucy UK EN 1980 Mari Ca
  • gmail 不断阻止 PHPmailer 登录

    我将在接下来的 8 小时内部署一个网站 而 Gmail 刚刚停止接受 PHPmailer 登录我的帐户 起初 它在测试过程中工作了几个小时 然后 它就停止工作了 我已经允许所有允许不太安全的应用程序从 gmail 登录 但它仍然不允许 ph
  • 当数据验证失败时保留表单字段中的值

    我在弄清楚验证失败时如何保留用户数据时遇到问题 我对 PHP 有点陌生 所以我的逻辑可能会犯一些巨大的错误 目前 如果验证失败 所有字段都会被清除 并且 Post 数据也会消失 这是一些代码 假设用户输入无效电子邮件 我希望保留 名称 字段
  • 删除PHP字符串中所有不匹配的字符?

    我有一个文本 我想从中删除所有不属于以下字符的字符 所需字符 0123456789 abcdefghijklmnopqrstuvwxyz n 最后一个是我确实想保留的 n 换行符 要匹配除列出的字符之外的所有字符 请使用反转字符集 http
  • 如何使用 phpunit 运行单个测试方法?

    我正在努力运行一个名为testSaveAndDrop在文件中escalation EscalationGroupTest php with phpunit 我尝试了以下组合 phpunit EscalationGroupTest escal
  • 如何解压 PHP/Lumen/Laravel 的 gzip 请求?

    我收到来自第三方的 gzip 编码文本请求 1mb 所以这是有道理的 我的测试路线 router gt post testgzip function Illuminate Http Request request decompressed
  • 在 php 中为类自动生成 getter 和 setter 的最佳方法是什么? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我经常创建一个包含一些私有变量的类 当设置此类的实例时 应该可以使用 getter 和 setter 填充该类的所有变量 有没有一种简单的方法可
  • PHP 会话不适用于游戏

    我正在尝试模仿一款名为 SKUNK 用骰子玩 的游戏来完成一项作业 我无法让会话正常工作 这是我第一次使用 PHP 我还被告知无需会议即可完成 这是我的代码
  • Apache 访问 Linux 中的 NTFS 链接文件夹

    在 Debian jessie 中使用 Apache2 PHP 当我想在 Apache 的文档文件夹 var www 中创建一个新的小节时 我只需创建一个指向我的 php 文件所在的外部文件夹的链接 然后只需更改该文件夹的所有者和权限文件夹
  • posts_search 中的自定义查询

    如何使用此查询作为我的自定义搜索查询 add filter posts search my search is perfect 20 2 function my search is perfect search wp query sWord
  • 蛋糕控制台 2.2.1:烘焙错误

    运行 MAMP 的 OSX 机器 CakePHP 2 2 1 已正确安装和配置 这意味着当我浏览到 Index php 文件时 所有绿色条都显示出来 我已经完成了博客教程 并且正在开发我的第二个应用程序 其中脚手架已启动并运行 现在我第一次
  • 学说迁移后备

    我们正在使用原则迁移 当迁移包含多个操作并且其中一个操作失败时 通常会出现问题 例如 如果迁移添加了 5 个外键 其中第 5 个失败 而字段长度不同 则修复字段错误并重新生成迁移不会not修复整个问题 而现在出现一个与 4 个密钥已存在有关
  • 交换关联数组中的两个项目

    Example arr array apple gt sweet grapefruit gt bitter pear gt tasty banana gt yellow 我想调换一下柚子和梨的位置 这样数组就变成了 arr array ap
  • 使用 SSL 证书验证 Web 浏览器

    是否可以使用 ssl 证书对 Web 浏览器进行身份验证 假设我在应用程序中存储私钥 有什么方法可以从浏览器读取密钥并尝试基于该私钥进行身份验证 您可以使用 SSL TLS 客户端证书身份验证来对浏览器 用户进行身份验证 服务器必须请求客户
  • 在 PHP 中撤销 Google 访问令牌

    正如标题所示 我想以编程方式撤销授予的访问令牌 即在 PHP 中 我发现这个他们的网站 https developers google com identity protocols OAuth2WebServer tokenrevoke 但
  • 表单计算器脚本基本价格未加载 OnLoad

    我的表单中有一个计算器来计算我的下拉选项选择 function select calculate on change calc input type checkbox calculate on click calc function cal
  • Doctrine EntityManager 清除嵌套实体中的方法

    我想用学说批量插入处理 http doctrine orm readthedocs org en latest reference batch processing html为了优化大量实体的插入 问题出在 Clear 方法上 它表示此方法
  • CURL 中的 data-urlencode 是什么意思?

    我搜索了很多个小时试图弄清楚 php curl 中的 data urlencode 是什么 我尝试过这个 但我认为这是不对的 xmlpost object1 file https www lob com goblue pdf 在文档中是 d
  • 使用正则表达式提取两个短语之间的所有单词[重复]

    这个问题在这里已经有答案了 我正在尝试使用以下正则表达式提取两个短语之间的所有单词 b item W w W 0 2 1 one W w W 0 3 business b b item W w W 0 2 3 three W w W 0 3
  • 无法显示 Laravel 欢迎页面

    我的服务器位于 DigitalOcean 云上 我正在使用 Ubuntu 和 Apache Web 服务器 我的家用计算机运行的是 Windows 7 我使用 putty 作为终端 遵循所有指示https laracasts com ser

随机推荐

  • 表格行上的框阴影未出现在某些浏览器上

    表格行上的 CSS 框阴影 tr 跨浏览器的工作似乎不一致 在某些浏览器上会显示阴影 在其他人身上 没有影子 我正在使用以下 CSS tr background color rgb 165 182 229 box shadow 0px 2p
  • 如何取消设置 JavaScript 变量?

    我在 JavaScript 中有一个全局变量 实际上是一个window属性 但我认为这并不重要 它已经由以前的脚本填充 但我不希望稍后运行另一个脚本来查看它的值 或者甚至定义它 我已经把some var undefined它用于测试目的ty
  • Excel VBA 对于带有数据验证列表的每个循环

    我有 4 个数据验证下拉列表 我想使用 for every 循环来迭代 4 个数据验证下拉列表的所有可能值 并将结果复制到工作表中 下拉菜单位于单元格 H3 和 H4 以及 U3 和 U4 中 H3 和 U3 包含相同的值 H4 和 U4
  • 字符编码 - RequestDispatcher

    我有一个 servlet 我使用 String error error request setAttribute loginError error request setCharacterEncoding UTF 8 request get
  • 如何导出 Spearman 相关性

    我正在尝试将 Spearman 相关矩阵导出到rtf或 Excel 文件使用estpost和社区贡献的命令esttab 但是 我收到以下错误 invalid subcommand r 198 下面是我的代码 estpost spearman
  • ASIO 直接从异步解析获取 tcp 端点

    我正在寻找使用 ASIO 独立库 不是 Boost ASIO 我正在尝试设置客户端以连接到特定端口上的服务器 我看到在波特漏斗例如 无需处理迭代器即可获取端点 asio io service io service Determine the
  • Xcode:为什么“用户交互已启用”出现两次?

    这个问题适用于 Xcode 3 和 4 为什么这个复选框出现两次 在身份检查器和属性检查器下 更重要的是 为什么改变一个值不会影响另一个值呢 身份检查器中启用的用户交互指的是可访问性协议 这是一个链接无障碍编程指南您可以勾选不同的特征来修改
  • jquery新手:将验证与隐藏提交按钮结合起来

    我是 jQuery 新人 我已经验证可以使用我的表单 MVC 1 0 C
  • 如何在VBA中对变量范围内的值求和?

    我有一张表格 如下所示 在 C 列中 如果 A 列具有相同的索引 B 列 我想对 A 列中的值求和 如果所有行具有相同的索引 如 D 列所示 我想对所有行输入总和结果 不幸的是 具有相同索引的值的范围是可变的 我的宏可以仅使用 2 个索引对
  • python sendall 未引发连接关闭错误

    我有以下代码 在 linux mac 远程和本地计算机上使用 python2 7 和 python3 5 进行了测试 import socket import time s socket socket s connect 127 0 0 1
  • 无法解码流 java.io.FileNotFoundException /storage/emulated/0 打开失败:ENOENT(没有这样的文件或目录

    你好 我正在尝试保存在我的应用程序上拍摄的图片 但是当我尝试访问内存来放置数据时 出现错误 无法解码流 java io FileNotFoundException storage emulated 0 打开失败 ENOENT 没有这样的文件
  • 获取 Facebook 上好友的好友列表

    我最近开始研究 Facebook API 并试图找出如何检索另一个用户的朋友列表 在本例中 该用户是我的朋友 到目前为止 我只知道如何找到我也是朋友的人的朋友 然而 Friends Wheel 应用程序可以做到这一点 因为您可以为您的一位朋
  • 如何确定C++函数调用顺序?

    我将跳过标题 class X int i static int j public X int ii 1 i ii j i static int incr return j static int f return incr int tmain
  • 在 WordPress 中上传期间重命名文件

    我正在尝试重命名上传文件名以匹配帖子标题 另一个线程显示了如何重命名为哈希 在 WordPress 后端上传期间重命名文件 使用此代码 function make filename hash filename info pathinfo f
  • 在 Firefox 扩展中按域名/名称访问特定 cookie

    我正在开发一个 Firefox 扩展 需要从特定域访问特定 cookie 我有这段代码 可以获取所有域的所有 cookie 我如何仅请求我正在查找的 cookie var Cc Ci require chrome var cookieMan
  • Xamarin Forms旋转列表视图调整行宽

    在 Xamarin Forms 中 我想实现一个水平列表视图 如下图所示 通过旋转这是可能的 但我无法更改行宽 是否也有可能让第二个布局在第一个布局下开始 提前致谢
  • 无法让 AVAssetImageGenerator 为我提供电影的所有帧

    我不能有AVAssetImageGenerator给我一部电影的所有帧 使用此代码 NSString path NSBundle mainBundle pathForResource video ofType mov NSURL url N
  • MySQL中使用UNION时如何知道结果来自哪个表

    我正在使用联合查询 SELECT snippet id title FROM tbl snippets WHERE title LIKE UNION SELECT tag id tag FROM tbl tags WHERE tag LIK
  • 哪种使用 C 数组的数据组织可以生成最快的代码?为什么?

    给定以下数据 组织元素数组以便实现最快随机访问的最佳方法是什么 每个元素都有一些 int 数字 一个以 0 结尾的 3 个字符的名称和一个浮点值 我看到两种可能的方法来组织和访问此类数组 First typedef struct int n
  • 如何将实体重新保存为原则 2 中的另一行

    假设我有实体 e 是否有任何通用方法将其存储为另一行 该行将具有相同的实体数据但另一个主键 为什么我需要这个 我正在实施某种时态数据库架构 我只需要创建另一行 而不是更新该行 尝试克隆并将以下方法添加到您的实体中 public functi