我正在尝试使用postgreSQL
typeorm
方法从find, findOne or query builder get/getMany
数据库中获取软删除的文档,但是它总是返回未定义的。有没有办法获取删除的值?
在文档中,它仅应为deletedAt
设置时间戳,并且绝对可以,因为我可以使用查询构建器中的update where更新相同的记录。
答案 0 :(得分:2)
我发现还有另一种解决方案。您可以使用querybuilders .withDeleted()
方法还返回软删除的实体。
示例
const query = await this.manager
.getRepository(FolderEntity)
.createQueryBuilder('folder')
.leftJoinAndSelect('folder.subStatus', 'status')
.withDeleted()
.getMany()
答案 1 :(得分:2)
实际上指的是 findOptions doc,您可以传递 withDeleted
布尔值来检索软删除的行。
例如:
const result = await this.repo.find({ where: { id }, withDeleted: true })
答案 2 :(得分:0)
const queryBuilder = await this.yourRepository.createQueryBuilder('entity');
queryBuilder.withDeleted();
queryBuilder.where(`entity.deleted_at IS NOT NULL`)};
答案 3 :(得分:-1)
经过更多搜索后,我发现唯一的解决方案是使用原始sql查询,如typeorm docs在查询块中所示。
const deletedEntity = await connection
.getRepository(Entity)
.query(`SELECT * FROM Entity where id = '${deletedEntityId}'`)
此查询返回带有deleteAt时间戳记的值。