Doctrine\ORM\UnitOfWork::cascadeRefresh PHP Method

cascadeRefresh() private method

Cascades a refresh operation to associated entities.
private cascadeRefresh ( object $entity, array &$visited )
$entity object
$visited array
    private function cascadeRefresh($entity, array &$visited)
    {
        $class = $this->em->getClassMetadata(get_class($entity));
        foreach ($class->associationMappings as $assoc) {
            if ( ! $assoc['isCascadeRefresh']) {
                continue;
            }
            $relatedEntities = $class->reflFields[$assoc['fieldName']]->getValue($entity);
            if ($relatedEntities instanceof Collection) {
                if ($relatedEntities instanceof PersistentCollection) {
                    // Unwrap so that foreach() does not initialize
                    $relatedEntities = $relatedEntities->unwrap();
                }
                foreach ($relatedEntities as $relatedEntity) {
                    $this->doRefresh($relatedEntity, $visited);
                }
            } else if ($relatedEntities !== null) {
                $this->doRefresh($relatedEntities, $visited);
            }
        }
    }