CakePHP 3中的克隆实体和所有相关实体

XerXes

在我的CakePHP 3应用程序中,我需要克隆和保存一些复杂的实体树。

结构的根源是一个调查表,一个调查表有很多问题,每个问题有很多字段,等等(更深入)。现在,我希望用户能够通过复制旧问卷来定义新问卷。然后他们可以更改所需的内容。

通过$questionnaire->$this->Questionnaires->get($id)与适当的包含字段一起使用我可以获得需要复制的内容的转储有什么聪明的方法可以将其保存为一堆新实体,同时保留它们之间的数据和结构?

斯普里兹

我认为最好的方法是遵循工作流程:

  1. 获取要克隆的对象
  2. 浏览集合并删除所有ID
  3. 转换为数组并在其中使用 $this->Questionnaires->newEntity($arrayData, ['associations' => ['Questions', '...']]);
  4. 现在,将新实体与您要保留的所有相关数据一起保存

AFAIK在Cake 3中没有“智能”方式来克隆具有关联的实体:-)

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

cakephp 3如何从现有实体创建新记录

来自分类Dev

如何从cakephp 3中的实体对象获取表架构/列?

来自分类Dev

实体名称与Cakephp 3中的表名称不同

来自分类Dev

cakephp3迭代hasMany关联的实体

来自分类Dev

CakePHP3 PUT 与关联实体

来自分类Dev

即使CakePhp3中没有错误也无法保存实体

来自分类Dev

cakephp v3.x中的Model上下文中的表和实体之间有什么区别,输入了哪种代码?

来自分类Dev

为什么Cakephp 3.x控制器和表中的函数是公共的,但实体中的函数却受到保护?

来自分类Dev

在CakePHP 3中检索相关数据(hasMany)

来自分类Dev

Git和CakePHP 3

来自分类Dev

Cakephp - 相关表

来自分类Dev

Cakephp 3-表实体的可重用代码

来自分类Dev

cakephp 3保存实体,尽管request-data为null

来自分类Dev

cakephp3如何检查afterSave回调中是否新插入了实体?

来自分类Dev

在CakePHP 3中,如何使用BelongsToMany记录(包括联接数据)创建新的实体?

来自分类Dev

列出cakePHP 3.x中的所有表

来自分类Dev

CakePHP 3-在控制器中显示所有错误和buildRules消息

来自分类Dev

解锁CakePHP中的所有前缀操作

来自分类Dev

Cakephp和模板

来自分类Dev

Cakephp和Laravel共存

来自分类Dev

cakephp插入和更新

来自分类Dev

CakePHP和条件

来自分类Dev

CakePHP和查询

来自分类Dev

CakePHP 3-未使用sqlite填写的保存实体ID /创建/修改的实体

来自分类Dev

Cakephp 3查询或条件

来自分类Dev

CakePHP 3:Cookie教程

来自分类Dev

Cakephp 3 NOT IN查询

来自分类Dev

计数包含Cakephp 3

来自分类Dev

cakephp 3前缀路由