From 1cda09da642588ef2791f51040320102a82892d9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michae=CC=88l=20Gallego?= Date: Mon, 23 Jul 2012 19:23:59 +0200 Subject: [PATCH] Add a find version to allow to override it in future for performance optimizations --- .../Hydrator/DoctrineEntity.php | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/src/DoctrineORMModule/Hydrator/DoctrineEntity.php b/src/DoctrineORMModule/Hydrator/DoctrineEntity.php index 9cceaeed..40e61495 100644 --- a/src/DoctrineORMModule/Hydrator/DoctrineEntity.php +++ b/src/DoctrineORMModule/Hydrator/DoctrineEntity.php @@ -105,11 +105,11 @@ public function hydrate(array $data, $object) protected function toOne($valueOrObject, $target) { if (is_numeric($valueOrObject)) { - return $this->objectManager->find($target, $valueOrObject); + return $this->find($target, $valueOrObject); } $identifiers = $this->metadata->getIdentifierValues($valueOrObject); - return $this->objectManager->find($target, $identifiers); + return $this->find($target, $identifiers); } /** @@ -126,14 +126,24 @@ protected function toMany($valueOrObject, $target) $values = array(); foreach($valueOrObject as $value) { if (is_numeric($value)) { - $values[] = $this->objectManager->find($target, $value); + $values[] = $this->find($target, $value); continue; } $identifiers = $this->metadata->getIdentifierValues($valueOrObject); - $values[] = $this->objectManager->find($target, $identifiers); + $values[] = $this->find($target, $identifiers); } return $values; } + + /** + * @param string $target + * @param int|array $identifiers + * @return object + */ + protected function find($target, $identifiers) + { + return $this->objectManager->find($target, $identifiers); + } } \ No newline at end of file