From 39ad87650ee6722c309d7dae24f9cc659d24c1d4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20P=C3=B6hlmann?= Date: Fri, 2 Sep 2011 15:53:52 +0200 Subject: [PATCH] findByXXX/findOneByXXX does now also accept orderBy, limit and offset args Conflicts: lib/Doctrine/ORM/EntityRepository.php --- lib/Doctrine/ORM/EntityRepository.php | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/lib/Doctrine/ORM/EntityRepository.php b/lib/Doctrine/ORM/EntityRepository.php index 17cc29807..94ad9e73d 100644 --- a/lib/Doctrine/ORM/EntityRepository.php +++ b/lib/Doctrine/ORM/EntityRepository.php @@ -225,7 +225,16 @@ class EntityRepository implements ObjectRepository $fieldName = lcfirst(\Doctrine\Common\Util\Inflector::classify($by)); if ($this->_class->hasField($fieldName) || $this->_class->hasAssociation($fieldName)) { - return $this->$method(array($fieldName => $arguments[0])); + $argumentSize = sizeof($arguments); + if ($argumentSize == 1) { + return $this->$method(array($fieldName => $arguments[0])); + } else if ($argumentSize == 2) { + return $this->$method(array($fieldName => $arguments[0]), $arguments[1]); + } else if ($argumentSize == 3) { + return $this->$method(array($fieldName => $arguments[0]), $arguments[1], $arguments[2]); + } else if ($argumentSize == 4) { + return $this->$method(array($fieldName => $arguments[0]), $arguments[1], $arguments[2], $arguments[3]); + } } throw ORMException::invalidFindByCall($this->_entityName, $fieldName, $method.$by);