Skip to content

Commit 000f6df

Browse files
author
abluchet
committed
Disable eager loading when no groups are specified to avoid recursive joins
1 parent 09bbfbe commit 000f6df

File tree

3 files changed

+62
-51
lines changed

3 files changed

+62
-51
lines changed

features/main/circular_reference.feature

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,8 @@ Feature: Circular references handling
6161
"@type": "CircularReference",
6262
"parent": "/circular_references/1",
6363
"children": [
64-
"/circular_references/1"
64+
"/circular_references/1",
65+
"/circular_references/2"
6566
]
6667
},
6768
"children": []

src/Bridge/Doctrine/Orm/Extension/EagerLoadingExtension.php

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -107,6 +107,10 @@ private function apply(bool $collection, QueryBuilder $queryBuilder, QueryNameGe
107107
$context += $this->getNormalizationContext($context['resource_class'] ?? $resourceClass, $contextType, $options);
108108
}
109109

110+
if (empty($context[AbstractNormalizer::GROUPS]) && !isset($context[AbstractNormalizer::ATTRIBUTES])) {
111+
return;
112+
}
113+
110114
$this->joinRelations($queryBuilder, $queryNameGenerator, $resourceClass, $forceEager, $fetchPartial, $queryBuilder->getRootAliases()[0], $options, $context);
111115
}
112116

0 commit comments

Comments
 (0)