diff --git a/packages/sql/src/lib/objection.ts b/packages/sql/src/lib/objection.ts index 0273dfb..e519fa8 100644 --- a/packages/sql/src/lib/objection.ts +++ b/packages/sql/src/lib/objection.ts @@ -13,6 +13,14 @@ function joinRelation(relationName: string, query: QueryBuilder) { return false; } + // Check if relation has already been joined e.g. with 'withGraphJoined' + if (query.hasWithGraph()) { + const graphExpression = query.graphExpressionObject(); + if (graphExpression.$childNames.indexOf(relationName) !== -1) { + return true; + } + } + query.joinRelated(relationName); return true; }