1
0
mirror of synced 2025-02-03 05:49:25 +03:00

Apply additional fixes to the SqlWalker to fix tests

This commit is contained in:
Alessandro Lai 2017-06-21 10:11:31 +02:00
parent 30256e7a08
commit 11c54b7715
No known key found for this signature in database
GPG Key ID: 5D9C513BE4F5798D

View File

@ -2293,7 +2293,7 @@ class SqlWalker implements TreeWalker
$metadata = $this->em->getClassMetadata($parameter);
if ($metadata->getReflectionClass()->isSubclassOf($discrClass->name)) {
if (! $metadata->getReflectionClass()->isSubclassOf($discrClass->name)) {
throw QueryException::instanceOfUnrelatedClass($parameter, $discrClass->name);
}
@ -2305,13 +2305,15 @@ class SqlWalker implements TreeWalker
$currentMetadata = $this->em->getClassMetadata($class);
$currentDiscriminator = $currentMetadata->discriminatorValue;
if (null !== $currentDiscriminator && ! array_key_exists($currentDiscriminator, $discriminators)) {
if (null !== $currentDiscriminator) {
$discriminators[$currentDiscriminator] = null;
}
}
}
$sqlParameterList = array_map([$this->conn, 'quote'], array_keys($discriminators));
foreach (array_keys($discriminators) as $dis) {
$sqlParameterList[] = $this->conn->quote($dis);
}
return '(' . implode(', ', $sqlParameterList) . ')';
}