From f13b085582e3a322678fc82116693a0002df3bb3 Mon Sep 17 00:00:00 2001 From: Marco Pivetta Date: Sat, 17 Jan 2015 08:14:04 +0100 Subject: [PATCH] Using `PersisterHelper` instead of the unreliable `ClassMetadataInfo#getTypeOfColumn()` --- .../Persisters/Entity/JoinedSubclassPersister.php | 13 +++++++++++-- .../ORM/Persisters/Entity/SingleTablePersister.php | 7 ++++++- 2 files changed, 17 insertions(+), 3 deletions(-) diff --git a/lib/Doctrine/ORM/Persisters/Entity/JoinedSubclassPersister.php b/lib/Doctrine/ORM/Persisters/Entity/JoinedSubclassPersister.php index 605d26a6e..019d987d5 100644 --- a/lib/Doctrine/ORM/Persisters/Entity/JoinedSubclassPersister.php +++ b/lib/Doctrine/ORM/Persisters/Entity/JoinedSubclassPersister.php @@ -26,6 +26,7 @@ use Doctrine\DBAL\LockMode; use Doctrine\DBAL\Types\Type; use Doctrine\Common\Collections\Criteria; +use Doctrine\ORM\Utility\PersisterHelper; /** * The joined subclass persister maps a single entity instance to several tables in the @@ -463,7 +464,11 @@ class JoinedSubclassPersister extends AbstractEntityInheritancePersister $tableAlias, $srcColumn, $className, - $targetClass->getTypeOfColumn($mapping['sourceToTargetKeyColumns'][$srcColumn]) + PersisterHelper::getTypeOfColumn( + $mapping['sourceToTargetKeyColumns'][$srcColumn], + $targetClass, + $this->em + ) ); } } @@ -508,7 +513,11 @@ class JoinedSubclassPersister extends AbstractEntityInheritancePersister $tableAlias, $srcColumn, $className, - $targetClass->getTypeOfColumn($mapping['sourceToTargetKeyColumns'][$srcColumn]) + PersisterHelper::getTypeOfColumn( + $mapping['sourceToTargetKeyColumns'][$srcColumn], + $targetClass, + $this->em + ) ); } } diff --git a/lib/Doctrine/ORM/Persisters/Entity/SingleTablePersister.php b/lib/Doctrine/ORM/Persisters/Entity/SingleTablePersister.php index cf86c6d4d..574cb371e 100644 --- a/lib/Doctrine/ORM/Persisters/Entity/SingleTablePersister.php +++ b/lib/Doctrine/ORM/Persisters/Entity/SingleTablePersister.php @@ -21,6 +21,7 @@ namespace Doctrine\ORM\Persisters\Entity; use Doctrine\ORM\Mapping\ClassMetadata; use Doctrine\Common\Collections\Criteria; +use Doctrine\ORM\Utility\PersisterHelper; /** * Persister for entities that participate in a hierarchy mapped with the @@ -95,7 +96,11 @@ class SingleTablePersister extends AbstractEntityInheritancePersister $tableAlias, $srcColumn, $className, - $targetClass->getTypeOfColumn($mapping['sourceToTargetKeyColumns'][$srcColumn]) + PersisterHelper::getTypeOfColumn( + $mapping['sourceToTargetKeyColumns'][$srcColumn], + $targetClass, + $this->em + ) ); } }