Skip to content

Commit b2b9b13

Browse files
Qb::getQuery
1 parent 62ddc87 commit b2b9b13

File tree

1 file changed

+7
-3
lines changed

1 file changed

+7
-3
lines changed

src/Type/Doctrine/QueryBuilder/QueryBuilderGetQueryDynamicReturnTypeExtension.php

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
use Doctrine\DBAL\DBALException;
88
use Doctrine\ORM\EntityManagerInterface;
99
use Doctrine\ORM\ORMException;
10+
use Doctrine\ORM\QueryBuilder;
1011
use Doctrine\Persistence\Mapping\MappingException;
1112
use PhpParser\Node\Expr\MethodCall;
1213
use PhpParser\Node\Identifier;
@@ -184,22 +185,25 @@ public function getTypeFromMethodCall(
184185
}
185186
}
186187

187-
$resultTypes[] = $this->getQueryType($queryBuilder->getDQL());
188+
$resultTypes[] = $this->getQueryType($queryBuilder);
188189
}
189190

190191
return TypeCombinator::union(...$resultTypes);
191192
}
192193

193-
private function getQueryType(string $dql): Type
194+
private function getQueryType(QueryBuilder $queryBuilder): Type
194195
{
196+
$dql = $queryBuilder->getDQL();
197+
195198
$em = $this->objectMetadataResolver->getObjectManager();
196199
if (!$em instanceof EntityManagerInterface) {
197200
return new QueryType($dql, null);
198201
}
199202

203+
$hydrationMode = ConstantTypeHelper::getTypeFromValue($queryBuilder->getQuery()->getHydrationMode());
204+
200205
$typeBuilder = new QueryResultTypeBuilder();
201206
$query = $em->createQuery($dql);
202-
$hydrationMode = ConstantTypeHelper::getTypeFromValue($query->getHydrationMode());
203207

204208
try {
205209
QueryResultTypeWalker::walk($query, $typeBuilder, $this->descriptorRegistry, $this->phpVersion, $this->driverDetector);

0 commit comments

Comments
 (0)