Jir*_*vec 6 sqlite node.js materialized-path-pattern typeorm
我正在尝试使用 TypeORM 更新 SQLite3 数据库中的具体化路径。文件夹表(我正在更新)有parent 和parentId 列。当我更新父列时,parentId 列将更新,但 mpath 列不会更新。
我尝试使用 getRepository() 和 getTreeRepository() 进行更新。
我不太确定还要添加什么,请参阅下面所附的模型和更新方法。
模型
@Entity()
@Tree('materialized-path')
export class Folder {
@PrimaryGeneratedColumn()
id: number;
@Column({
type: 'varchar',
length: 50
})
title: string;
@TreeParent()
parent: Folder;
@TreeChildren()
children: Folder[];
@Column({
nullable: true
})
parentId: number;
Run Code Online (Sandbox Code Playgroud)
更新
await connection.getTreeRepository<Folder>(Folder).update(id, {
parent: await connection.getRepository<Folder>(Folder).findOne(parentId)
});
Run Code Online (Sandbox Code Playgroud)
小智 0
我也尝试过更新功能,但不起作用。但保存功能还是可以的。
允许通过存储库中的保存功能更新和删除树实体关系。(参考: https: //github.com/typeorm/typeorm/pull/7156)
当您使用 save 保存实体时,它总是尝试在数据库中查找具有给定实体 id 的实体。如果找到 id/ids,它将更新数据库中的这一行。如果没有包含 id/ids 的行,则会插入新行。(参考: https: //typeorm.io/#/entities)
| 归档时间: |
|
| 查看次数: |
1394 次 |
| 最近记录: |