Sylius\Bundle\ResourceBundle\EventListener\ODMMappedSuperClassSubscriber::setAssociationMappings PHP Method

setAssociationMappings() private method

private setAssociationMappings ( ClassMetadataInfo $metadata, $configuration )
$metadata Doctrine\ODM\MongoDB\Mapping\ClassMetadataInfo
$configuration
    private function setAssociationMappings(ClassMetadataInfo $metadata, $configuration)
    {
        foreach (class_parents($metadata->getName()) as $parent) {
            if (false === in_array($parent, $configuration->getMetadataDriverImpl()->getAllClassNames())) {
                continue;
            }
            $parentMetadata = new ClassMetadata($parent, $configuration->getNamingStrategy());
            // Wakeup Reflection
            $parentMetadata->wakeupReflection($this->getReflectionService());
            // Load Metadata
            $configuration->getMetadataDriverImpl()->loadMetadataForClass($parent, $parentMetadata);
            if (false === $this->isResource($parentMetadata)) {
                continue;
            }
            if ($parentMetadata->isMappedSuperclass) {
                foreach ($parentMetadata->associationMappings as $key => $value) {
                    if ($this->hasRelation($value['association'])) {
                        $metadata->associationMappings[$key] = $value;
                    }
                }
            }
        }
    }