Doctrine\ODM\MongoDB\SchemaManager::prepareIndexes PHP Method

prepareIndexes() private method

private prepareIndexes ( ClassMetadata $class ) : array
$class Doctrine\ODM\MongoDB\Mapping\ClassMetadata
return array
    private function prepareIndexes(ClassMetadata $class)
    {
        $persister = $this->dm->getUnitOfWork()->getDocumentPersister($class->name);
        $indexes = $class->getIndexes();
        $newIndexes = array();
        foreach ($indexes as $index) {
            $newIndex = array('keys' => array(), 'options' => $index['options']);
            foreach ($index['keys'] as $key => $value) {
                $key = $persister->prepareFieldName($key);
                if ($class->hasField($key)) {
                    $mapping = $class->getFieldMapping($key);
                    $newIndex['keys'][$mapping['name']] = $value;
                } else {
                    $newIndex['keys'][$key] = $value;
                }
            }
            $newIndexes[] = $newIndex;
        }
        return $newIndexes;
    }