Doctrine\ORM\UnitOfWork::getCollectionPersister PHP Method

getCollectionPersister() public method

Gets a collection persister for a collection-valued association.
public getCollectionPersister ( array $association ) : AbstractCollectionPersister
$association array
return AbstractCollectionPersister
    public function getCollectionPersister(array $association)
    {
        $type = $association['type'];
        if ( ! isset($this->collectionPersisters[$type])) {
            if ($type == ClassMetadata::ONE_TO_MANY) {
                $persister = new Persisters\OneToManyPersister($this->em);
            } else if ($type == ClassMetadata::MANY_TO_MANY) {
                $persister = new Persisters\ManyToManyPersister($this->em);
            }
            $this->collectionPersisters[$type] = $persister;
        }
        return $this->collectionPersisters[$type];
    }

Usage Example

Example #1
0
 /**
  * {@inheritdoc}
  */
 public function evictCollectionRegions()
 {
     $metadatas = $this->em->getMetadataFactory()->getAllMetadata();
     foreach ($metadatas as $metadata) {
         foreach ($metadata->associationMappings as $association) {
             if (!$association['type'] & ClassMetadata::TO_MANY) {
                 continue;
             }
             $persister = $this->uow->getCollectionPersister($association);
             if (!$persister instanceof CachedPersister) {
                 continue;
             }
             $persister->getCacheRegion()->evictAll();
         }
     }
 }
All Usage Examples Of Doctrine\ORM\UnitOfWork::getCollectionPersister