在 typeorm 中有关系时找不到软删除的行 - NestJs

问题描述 投票:0回答:1

当我尝试查找被软删除的行时,即使使用

{with_Deleted : true}
,也会返回 null ,但是当该行不是软删除时,它会返回正常。有没有办法可以返回软删除的行?

联合模拟服务:

async getCorteById(id : number): Promise<ConjuntoSimulacoes>{
        return await this.conjuntoSimulacoesRepository.findOne({withDeleted : true,relations : ['corte'],where : {id}});
    }

联合模拟控制器:

    @Get('/corte/:id')
    @UseGuards(AuthGuard('jwt'))
    async getCorteBySimulacao(@Param('id') id : number){
        return await this.conjuntoSimulacoesService.getCorteById(id);
    }

联合拟像实体:

@ManyToOne(() => Cortes , corte => corte.conjunto_simulacoes )
    corte : Cortes;

科尔特斯实体:

@OneToMany(() => ConjuntoSimulacoes , conjunto_simulacoes => conjunto_simulacoes.corte )
    conjunto_simulacoes : ConjuntoSimulacoes[]
nestjs typeorm many-to-one soft-delete
1个回答
0
投票

我修复了执行新查询的问题,在上一个查询中,

{with_Deleted : true}
正在表
conjunto simulacoes
内搜索,而不是在表
cortes
中搜索。

新查询:

    async getCorteByIdWithDeleted(id : number){
        return await this.conjuntoSimulacoesRepository.query(`SELECT * FROM conjunto_simulacoes 
        as conjunto LEFT JOIN cortes as corte on corte.id = conjunto."corteId" 
        WHERE conjunto.id=${id}`);
    }
© www.soinside.com 2019 - 2024. All rights reserved.