我有一个CategoryEntity
和EntryEntity
。类别可以包含条目。我的任务是克隆属于一个类别的条目并将其移动到另一个类别。
使用 queryRunner 我可以编写以下代码:
await queryRunner.manager.getRepository(CategoryEntity)
.createQueryBuilder()
.relation(CategoryEntity, 'entries')
.of(category)
.add(entry);
Run Code Online (Sandbox Code Playgroud)
但它只会将所选条目复制粘贴到所选类别,也就是说,插入的实体将具有相同的 id 等,所以如果我删除父级子级(插入的实体也会被删除),但它不是我正在寻找的行为。我需要一个完整的克隆,所以我可以这样做:
const { id, ...updateEntryBody } = entry;
const newEntry = await this.entryRepository.save(updateEntryBody);
await queryRunner.manager.getRepository(CategoryEntity)
.createQueryBuilder()
.relation(CategoryEntity, 'entries')
.of(category)
.add(newEntry);
Run Code Online (Sandbox Code Playgroud)
它将创建该条目的克隆,但这里还有一个与图像有关的问题条目。也就是说,条目可以包含图像。因此,我认为,我必须对条目可能包含的一大堆图像执行类似的操作。我一点也不喜欢这个主意。
我的问题是:有没有更好的方法来处理这个问题?
归档时间: |
|
查看次数: |
3742 次 |
最近记录: |