eZ\Publish\Core\Search\Legacy\Content\Common\Gateway\CriterionHandler\Field::getFieldsInformation PHP Method

getFieldsInformation() protected method

The returned information is returned as an array of the attribute identifier and the sort column, which should be used.
protected getFieldsInformation ( string $fieldIdentifier ) : array
$fieldIdentifier string
return array
    protected function getFieldsInformation($fieldIdentifier)
    {
        $fieldMapArray = array();
        $fieldMap = $this->contentTypeHandler->getSearchableFieldMap();
        foreach ($fieldMap as $contentTypeIdentifier => $fieldIdentifierMap) {
            // First check if field exists in the current ContentType, there is nothing to do if it doesn't
            if (!isset($fieldIdentifierMap[$fieldIdentifier])) {
                continue;
            }
            $fieldTypeIdentifier = $fieldIdentifierMap[$fieldIdentifier]['field_type_identifier'];
            $fieldMapArray[$fieldTypeIdentifier]['ids'][] = $fieldIdentifierMap[$fieldIdentifier]['field_definition_id'];
            if (!isset($fieldMapArray[$fieldTypeIdentifier]['column'])) {
                $fieldMapArray[$fieldTypeIdentifier]['column'] = $this->fieldConverterRegistry->getConverter($fieldTypeIdentifier)->getIndexColumn();
            }
        }
        if (empty($fieldMapArray)) {
            throw new InvalidArgumentException('$criterion->target', "No searchable fields found for the given criterion target '{$fieldIdentifier}'.");
        }
        return $fieldMapArray;
    }