Skip to content

Commit c918495

Browse files
author
abluchet
committed
fix ManyToMany should be leftJoin
1 parent 57afc29 commit c918495

File tree

2 files changed

+3
-3
lines changed

2 files changed

+3
-3
lines changed

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -134,8 +134,8 @@ private function joinRelations(QueryBuilder $queryBuilder, QueryNameGeneratorInt
134134
continue;
135135
}
136136

137-
$joinColumns = $mapping['joinColumns'] ?? $mapping['joinTable']['joinColumns'] ?? null;
138-
if (false !== $wasLeftJoin || !isset($joinColumns[0]['nullable']) || false !== $joinColumns[0]['nullable']) {
137+
$isNullable = $mapping['joinColumns'][0]['nullable'] ?? true;
138+
if (false !== $wasLeftJoin || true === $isNullable) {
139139
$method = 'leftJoin';
140140
} else {
141141
$method = 'innerJoin';

tests/Bridge/Doctrine/Orm/Extension/EagerLoadingExtensionTest.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -176,7 +176,7 @@ public function testApplyToItem()
176176
$queryBuilderProphecy->leftJoin('o.relatedDummy', 'relatedDummy_a1')->shouldBeCalled(1);
177177
$queryBuilderProphecy->leftJoin('relatedDummy_a1.relation', 'relation_a2')->shouldBeCalled(1);
178178
$queryBuilderProphecy->innerJoin('o.relatedDummy2', 'relatedDummy2_a3')->shouldBeCalled(1);
179-
$queryBuilderProphecy->innerJoin('o.relatedDummy3', 'relatedDummy3_a4')->shouldBeCalled(1);
179+
$queryBuilderProphecy->leftJoin('o.relatedDummy3', 'relatedDummy3_a4')->shouldBeCalled(1);
180180
$queryBuilderProphecy->leftJoin('o.relatedDummy4', 'relatedDummy4_a5')->shouldBeCalled(1);
181181
$queryBuilderProphecy->addSelect('partial relatedDummy_a1.{id,name}')->shouldBeCalled(1);
182182
$queryBuilderProphecy->addSelect('partial relation_a2.{id}')->shouldBeCalled(1);

0 commit comments

Comments
 (0)