Atrauzzi\LaravelDoctrine\ConfigMappingDriver::loadMetadataForClass PHP Méthode

loadMetadataForClass() public méthode

Loads the metadata for the specified class into the provided container.
public loadMetadataForClass ( string $className, Doctrine\Common\Persistence\Mapping\ClassMetadata $metadata ) : void
$className string
$metadata Doctrine\Common\Persistence\Mapping\ClassMetadata
Résultat void
    public function loadMetadataForClass($className, ClassMetadata $metadata)
    {
        $mapping = config(sprintf('doctrine.mappings.%s', $className));
        $builder = new ClassMetadataBuilder($metadata);
        if (!empty($mapping['abstract'])) {
            $builder->setMappedSuperClass();
        }
        if (!empty($mapping['table'])) {
            $builder->setTable($mapping['table']);
        }
        if (!empty($mapping['indexes'])) {
            foreach ($mapping['indexes'] as $name => $columns) {
                $builder->addIndex($columns, $name);
            }
        }
        if (!empty($mapping['repository'])) {
            $builder->setCustomRepositoryClass($mapping['repository']);
        }
        if (!empty($mapping['fields'])) {
            foreach ($mapping['fields'] as $fieldName => $fieldConfig) {
                $this->mapField($builder, $fieldName, $fieldConfig);
            }
        }
    }