Doctrine\Search\Mapping\Driver\YamlDriver::fieldToArray PHP Method

fieldToArray() private method

private fieldToArray ( $name, $fieldMapping )
    private function fieldToArray($name, $fieldMapping)
    {
        $mapping = array();
        if (isset($fieldMapping['name'])) {
            $mapping['fieldName'] = $fieldMapping['name'];
        } else {
            $mapping['fieldName'] = $name;
        }
        if (isset($fieldMapping['type'])) {
            $mapping['type'] = $fieldMapping['type'];
            if ($fieldMapping['type'] == 'multi_field' && isset($fieldMapping['fields'])) {
                foreach ($fieldMapping['fields'] as $name => $subFieldMapping) {
                    $subFieldMapping = (array) $subFieldMapping;
                    $mapping['fields'][] = $this->fieldToArray($name, $subFieldMapping);
                }
            }
            if (in_array($fieldMapping['type'], array('nested', 'object')) && isset($fieldMapping['properties'])) {
                foreach ($fieldMapping['properties'] as $name => $subFieldMapping) {
                    $subFieldMapping = (array) $subFieldMapping;
                    $mapping['properties'][] = $this->fieldToArray($name, $subFieldMapping);
                }
            }
        }
        if (isset($fieldMapping['boost'])) {
            $mapping['boost'] = $fieldMapping['boost'];
        }
        if (isset($fieldMapping['includeInAll'])) {
            $mapping['includeInAll'] = (bool) $fieldMapping['includeInAll'];
        }
        if (isset($fieldMapping['index'])) {
            $mapping['index'] = $fieldMapping['index'];
        }
        if (isset($fieldMapping['analyzer'])) {
            $mapping['analyzer'] = $fieldMapping['analyzer'];
        }
        if (isset($fieldMapping['path'])) {
            $mapping['path'] = $fieldMapping['path'];
        }
        if (isset($fieldMapping['indexName'])) {
            $mapping['indexName'] = $fieldMapping['indexName'];
        }
        if (isset($fieldMapping['store'])) {
            $mapping['store'] = (bool) $fieldMapping['store'];
        }
        if (isset($fieldMapping['nullValue'])) {
            $mapping['nullValue'] = $fieldMapping['nullValue'];
        }
        if (isset($fieldMapping['geohash'])) {
            $mapping['geohash'] = (bool) $fieldMapping['geohash'];
        }
        if (isset($fieldMapping['geohash_precision'])) {
            $mapping['geohash_precision'] = $fieldMapping['geohash_precision'];
        }
        if (isset($fieldMapping['geohash_prefix'])) {
            $mapping['geohash_prefix'] = (bool) $fieldMapping['geohash_prefix'];
        }
        return $mapping;
    }