diff --git a/Extension/EagerLoadingExtension.php b/Extension/EagerLoadingExtension.php index 240c1ff..85f4d09 100644 --- a/Extension/EagerLoadingExtension.php +++ b/Extension/EagerLoadingExtension.php @@ -23,6 +23,7 @@ use ApiPlatform\Metadata\Property\Factory\PropertyMetadataFactoryInterface; use ApiPlatform\Metadata\Property\Factory\PropertyNameCollectionFactoryInterface; use Doctrine\ORM\Mapping\ClassMetadata; +use Doctrine\ORM\Mapping\JoinColumnMapping; use Doctrine\ORM\Query\Expr\Join; use Doctrine\ORM\Query\Expr\Select; use Doctrine\ORM\QueryBuilder; @@ -181,7 +182,7 @@ private function joinRelations(QueryBuilder $queryBuilder, QueryNameGeneratorInt $associationAlias = $existingJoin->getAlias(); $isLeftJoin = Join::LEFT_JOIN === $existingJoin->getJoinType(); } else { - $isNullable = $mapping['joinColumns'][0]?->nullable ?? true; + $isNullable = isset($mapping['joinColumns']) && isset($mapping['joinColumns'][0]) ? ($mapping['joinColumns'][0] instanceof JoinColumnMapping ? $mapping['joinColumns'][0]->nullable : $mapping['joinColumns'][0]['nullable']) : true; $isLeftJoin = false !== $wasLeftJoin || true === $isNullable; $method = $isLeftJoin ? 'leftJoin' : 'innerJoin';