prefix = Env::$db_prefix; } function getMetadataFor($className) { $isPrefixed = $this->hasMetadataFor($className); $classMetadata = parent::getMetadataFor($className); if (!$isPrefixed && $classMetadata instanceof ClassMetadata) { $this->addPrefix($classMetadata); } return $classMetadata; } function addPrefix(ClassMetadata $classMetadata) { if (!$classMetadata->isInheritanceTypeSingleTable() || $classMetadata->getName() === $classMetadata->rootEntityName) { $classMetadata->setPrimaryTable([ 'name' => $this->prefix . $classMetadata->getTableName(), ]); } foreach ($classMetadata->getAssociationMappings() as $fieldName => $mapping) { if ($mapping['type'] == ClassMetadataInfo::MANY_TO_MANY && $mapping['isOwningSide']) { $mappedTableName = $mapping['joinTable']['name']; $classMetadata->associationMappings[$fieldName]['joinTable']['name'] = $this->prefix . $mappedTableName; } } } }