From 2f245e05b97db55ef7723f859d1e667917c4efaa Mon Sep 17 00:00:00 2001 From: Luis Enrique Arias Date: Tue, 19 Jan 2021 12:43:41 -0600 Subject: [PATCH] fix: resolve issue with find with relations returns soft-deleted entities This new feature changes the behavior of typeorm to allow avoiding entities that have soft delete close: #6265 --- src/query-builder/SelectQueryBuilder.ts | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/query-builder/SelectQueryBuilder.ts b/src/query-builder/SelectQueryBuilder.ts index d4e1caa97b2..80afb98bc3c 100644 --- a/src/query-builder/SelectQueryBuilder.ts +++ b/src/query-builder/SelectQueryBuilder.ts @@ -1336,7 +1336,10 @@ export class SelectQueryBuilder extends QueryBuilder implements this.expressionMap.joinAttributes.push(joinAttribute); if (joinAttribute.metadata) { - + if (joinAttribute.metadata.deleteDateColumn && !this.expressionMap.withDeleted) { + const conditionDeleteColumn = `${aliasName}.${joinAttribute.metadata.deleteDateColumn.propertyName} is null`; + joinAttribute.condition += joinAttribute.condition ? ` and ${conditionDeleteColumn}`: `${conditionDeleteColumn}`; + } // todo: find and set metadata right there? joinAttribute.alias = this.expressionMap.createAlias({ type: "join",