Skip to content

Commit 3292640

Browse files
authored
Merge pull request #2143 from mcn-fredw/QueryCheckerDetectCompositeKeyFix
QueryChecker fix
2 parents 902d0d9 + 4ad9847 commit 3292640

File tree

2 files changed

+9
-3
lines changed

2 files changed

+9
-3
lines changed

src/Bridge/Doctrine/Orm/Util/QueryChecker.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ private static function hasRootEntityWithIdentifier(QueryBuilder $queryBuilder,
6464
->getManagerForClass($rootEntity)
6565
->getClassMetadata($rootEntity);
6666

67-
if ($rootMetadata instanceof ClassMetadata && ($isForeign ? $rootMetadata->isIdentifierComposite : $rootMetadata->containsForeignIdentifier)) {
67+
if ($rootMetadata instanceof ClassMetadata && ($isForeign ? $rootMetadata->containsForeignIdentifier : $rootMetadata->isIdentifierComposite)) {
6868
return true;
6969
}
7070
}

tests/Bridge/Doctrine/Orm/Util/QueryCheckerTest.php

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,8 @@ public function testHasRootEntityWithCompositeIdentifier()
5959
$queryBuilder->getRootEntities()->willReturn(['Dummy']);
6060
$queryBuilder->getRootAliases()->willReturn(['d']);
6161
$classMetadata = new ClassMetadata('Dummy');
62-
$classMetadata->containsForeignIdentifier = true;
62+
$classMetadata->isIdentifierComposite = true;
63+
$classMetadata->containsForeignIdentifier = false;
6364
$objectManager = $this->prophesize(ObjectManager::class);
6465
$objectManager->getClassMetadata('Dummy')->willReturn($classMetadata);
6566
$managerRegistry = $this->prophesize(ManagerRegistry::class);
@@ -73,7 +74,8 @@ public function testHasRootEntityWithNoCompositeIdentifier()
7374
$queryBuilder->getRootEntities()->willReturn(['Dummy']);
7475
$queryBuilder->getRootAliases()->willReturn(['d']);
7576
$classMetadata = new ClassMetadata('Dummy');
76-
$classMetadata->containsForeignIdentifier = false;
77+
$classMetadata->isIdentifierComposite = false;
78+
$classMetadata->containsForeignIdentifier = true;
7779
$objectManager = $this->prophesize(ObjectManager::class);
7880
$objectManager->getClassMetadata('Dummy')->willReturn($classMetadata);
7981
$managerRegistry = $this->prophesize(ManagerRegistry::class);
@@ -88,6 +90,8 @@ public function testHasRootEntityWithForeignKeyIdentifier()
8890
$queryBuilder->getRootAliases()->willReturn(['d']);
8991
$classMetadata = new ClassMetadata('Dummy');
9092
$classMetadata->setIdentifier(['id', 'name']);
93+
$classMetadata->isIdentifierComposite = false;
94+
$classMetadata->containsForeignIdentifier = true;
9195
$objectManager = $this->prophesize(ObjectManager::class);
9296
$objectManager->getClassMetadata('Dummy')->willReturn($classMetadata);
9397
$managerRegistry = $this->prophesize(ManagerRegistry::class);
@@ -101,6 +105,8 @@ public function testHasRootEntityWithNoForeignKeyIdentifier()
101105
$queryBuilder->getRootEntities()->willReturn(['Dummy']);
102106
$queryBuilder->getRootAliases()->willReturn(['d']);
103107
$classMetadata = new ClassMetadata('Dummy');
108+
$classMetadata->isIdentifierComposite = true;
109+
$classMetadata->containsForeignIdentifier = false;
104110
$objectManager = $this->prophesize(ObjectManager::class);
105111
$objectManager->getClassMetadata('Dummy')->willReturn($classMetadata);
106112
$managerRegistry = $this->prophesize(ManagerRegistry::class);

0 commit comments

Comments
 (0)