From be39afa2f484aefb136e83afcbb164ff83bf0f4a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C3=ABl=20Gallego?= Date: Sun, 22 Dec 2013 17:13:04 +0100 Subject: [PATCH] Add method to interface --- .../ORM/Persisters/AbstractCollectionPersister.php | 11 ++++++++++- lib/Doctrine/ORM/Persisters/CollectionPersister.php | 11 +++++++++++ lib/Doctrine/ORM/Persisters/ManyToManyPersister.php | 6 +----- 3 files changed, 22 insertions(+), 6 deletions(-) diff --git a/lib/Doctrine/ORM/Persisters/AbstractCollectionPersister.php b/lib/Doctrine/ORM/Persisters/AbstractCollectionPersister.php index 61222318f..0b1dcfbc3 100644 --- a/lib/Doctrine/ORM/Persisters/AbstractCollectionPersister.php +++ b/lib/Doctrine/ORM/Persisters/AbstractCollectionPersister.php @@ -19,6 +19,7 @@ namespace Doctrine\ORM\Persisters; +use Doctrine\Common\Collections\Criteria; use Doctrine\ORM\EntityManager; use Doctrine\ORM\PersistentCollection; @@ -51,7 +52,7 @@ abstract class AbstractCollectionPersister implements CollectionPersister * @var \Doctrine\DBAL\Platforms\AbstractPlatform */ protected $platform; - + /** * The quote strategy. * @@ -203,6 +204,14 @@ abstract class AbstractCollectionPersister implements CollectionPersister throw new \BadMethodCallException("Selecting a collection by index is not supported by this CollectionPersister."); } + /** + * {@inheritdoc} + */ + public function loadCriteria(PersistentCollection $coll, Criteria $criteria) + { + throw new \BadMethodCallException("Filtering a collection by Criteria is not supported by this CollectionPersister."); + } + /** * Gets the SQL statement used for deleting a row from the collection. * diff --git a/lib/Doctrine/ORM/Persisters/CollectionPersister.php b/lib/Doctrine/ORM/Persisters/CollectionPersister.php index f99d57805..55bef82b9 100644 --- a/lib/Doctrine/ORM/Persisters/CollectionPersister.php +++ b/lib/Doctrine/ORM/Persisters/CollectionPersister.php @@ -19,6 +19,7 @@ namespace Doctrine\ORM\Persisters; +use Doctrine\Common\Collections\Criteria; use Doctrine\ORM\PersistentCollection; /** @@ -136,4 +137,14 @@ interface CollectionPersister * @return mixed */ public function get(PersistentCollection $collection, $index); + + /** + * Loads association entities matching the given Criteria object. + * + * @param \Doctrine\ORM\PersistentCollection $persistentCollection + * @param \Doctrine\Common\Collections\Criteria $criteria + * + * @return array + */ + public function loadCriteria(PersistentCollection $collection, Criteria $criteria); } diff --git a/lib/Doctrine/ORM/Persisters/ManyToManyPersister.php b/lib/Doctrine/ORM/Persisters/ManyToManyPersister.php index d4bb6f907..db80abf53 100644 --- a/lib/Doctrine/ORM/Persisters/ManyToManyPersister.php +++ b/lib/Doctrine/ORM/Persisters/ManyToManyPersister.php @@ -553,11 +553,7 @@ class ManyToManyPersister extends AbstractCollectionPersister } /** - * Loads Entities matching the given Criteria object. - * - * @param PersistentCollection $coll - * @param \Doctrine\Common\Collections\Criteria $criteria - * @return array + * {@inheritDoc} */ public function loadCriteria(PersistentCollection $coll, Criteria $criteria) {