From 4ef0a238bfb0b5da59104bfe11189f4c5b103020 Mon Sep 17 00:00:00 2001 From: Alessandro Frangioni <> Date: Tue, 6 Jun 2017 17:28:34 +0200 Subject: [PATCH] Inferring id's field types --- .../ORM/Persisters/Entity/BasicEntityPersister.php | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/lib/Doctrine/ORM/Persisters/Entity/BasicEntityPersister.php b/lib/Doctrine/ORM/Persisters/Entity/BasicEntityPersister.php index 3c502e3d7..f94d79e96 100644 --- a/lib/Doctrine/ORM/Persisters/Entity/BasicEntityPersister.php +++ b/lib/Doctrine/ORM/Persisters/Entity/BasicEntityPersister.php @@ -345,9 +345,12 @@ class BasicEntityPersister implements EntityPersister . ' WHERE ' . implode(' = ? AND ', $identifier) . ' = ?'; $types = []; - foreach ($identifier as $fieldName) { - $types[] = $versionedClass->fieldMappings[$fieldName]['type']; + foreach ($id as $field => $value) { + foreach ($this->getTypes($field, $value, $versionedClass) as $type) { + $types[] = $type; + } } + $flatId = $this->identifierFlattener->flattenIdentifier($versionedClass, $id); $value = $this->conn->fetchColumn($sql, array_values($flatId), 0, $types);