diff --git a/lib/Doctrine/ORM/PersistentCollection.php b/lib/Doctrine/ORM/PersistentCollection.php index 8dd5c74b1..c1f3cf1b6 100644 --- a/lib/Doctrine/ORM/PersistentCollection.php +++ b/lib/Doctrine/ORM/PersistentCollection.php @@ -19,14 +19,12 @@ namespace Doctrine\ORM; -use Closure; use Doctrine\Common\Collections\AbstractLazyCollection; use Doctrine\Common\Collections\Collection; use Doctrine\Common\Collections\ArrayCollection; use Doctrine\Common\Collections\Selectable; use Doctrine\Common\Collections\Criteria; use Doctrine\ORM\Mapping\ClassMetadata; -use Doctrine\ORM\Mapping\ClassMetadataInfo; /** * A PersistentCollection represents a collection of elements that have persistent state. @@ -368,7 +366,7 @@ final class PersistentCollection extends AbstractLazyCollection implements Selec */ public function removeElement($element) { - if ( ! $this->initialized && $this->association['fetch'] === Mapping\ClassMetadataInfo::FETCH_EXTRA_LAZY) { + if ( ! $this->initialized && $this->association['fetch'] === ClassMetadata::FETCH_EXTRA_LAZY) { if ($this->collection->contains($element)) { return $this->collection->removeElement($element); } @@ -405,7 +403,7 @@ final class PersistentCollection extends AbstractLazyCollection implements Selec */ public function containsKey($key) { - if (! $this->initialized && $this->association['fetch'] === Mapping\ClassMetadataInfo::FETCH_EXTRA_LAZY + if (! $this->initialized && $this->association['fetch'] === ClassMetadata::FETCH_EXTRA_LAZY && isset($this->association['indexBy'])) { $persister = $this->em->getUnitOfWork()->getCollectionPersister($this->association); @@ -420,7 +418,7 @@ final class PersistentCollection extends AbstractLazyCollection implements Selec */ public function contains($element) { - if ( ! $this->initialized && $this->association['fetch'] === Mapping\ClassMetadataInfo::FETCH_EXTRA_LAZY) { + if ( ! $this->initialized && $this->association['fetch'] === ClassMetadata::FETCH_EXTRA_LAZY) { $persister = $this->em->getUnitOfWork()->getCollectionPersister($this->association); return $this->collection->contains($element) || $persister->contains($this, $element); @@ -435,7 +433,7 @@ final class PersistentCollection extends AbstractLazyCollection implements Selec public function get($key) { if ( ! $this->initialized - && $this->association['fetch'] === Mapping\ClassMetadataInfo::FETCH_EXTRA_LAZY + && $this->association['fetch'] === ClassMetadata::FETCH_EXTRA_LAZY && isset($this->association['indexBy']) ) { if (!$this->typeClass->isIdentifierComposite && $this->typeClass->isIdentifier($this->association['indexBy'])) { @@ -453,7 +451,7 @@ final class PersistentCollection extends AbstractLazyCollection implements Selec */ public function count() { - if ( ! $this->initialized && $this->association['fetch'] === Mapping\ClassMetadataInfo::FETCH_EXTRA_LAZY) { + if ( ! $this->initialized && $this->association['fetch'] === ClassMetadata::FETCH_EXTRA_LAZY) { $persister = $this->em->getUnitOfWork()->getCollectionPersister($this->association); return $persister->count($this) + ($this->isDirty ? $this->collection->count() : 0); @@ -602,7 +600,7 @@ final class PersistentCollection extends AbstractLazyCollection implements Selec */ public function slice($offset, $length = null) { - if ( ! $this->initialized && ! $this->isDirty && $this->association['fetch'] === Mapping\ClassMetadataInfo::FETCH_EXTRA_LAZY) { + if ( ! $this->initialized && ! $this->isDirty && $this->association['fetch'] === ClassMetadata::FETCH_EXTRA_LAZY) { $persister = $this->em->getUnitOfWork()->getCollectionPersister($this->association); return $persister->slice($this, $offset, $length); @@ -674,7 +672,7 @@ final class PersistentCollection extends AbstractLazyCollection implements Selec $persister = $this->em->getUnitOfWork()->getEntityPersister($this->association['targetEntity']); - return ($this->association['fetch'] === ClassMetadataInfo::FETCH_EXTRA_LAZY) + return ($this->association['fetch'] === ClassMetadata::FETCH_EXTRA_LAZY) ? new LazyCriteriaCollection($persister, $criteria) : new ArrayCollection($persister->loadCriteria($criteria)); }