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) {