eZ\Publish\Core\Search\Legacy\Content\Common\Gateway\CriterionHandler\FieldRelation::getFieldDefinitionsIds PHP Method

getFieldDefinitionsIds() protected method

Returns a list of IDs of searchable FieldDefinitions for the given criterion target.
protected getFieldDefinitionsIds ( string $fieldDefinitionIdentifier ) : array
$fieldDefinitionIdentifier string
return array
    protected function getFieldDefinitionsIds($fieldDefinitionIdentifier)
    {
        $fieldDefinitionIdList = 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[$fieldDefinitionIdentifier])) {
                continue;
            }
            $fieldDefinitionIdList[] = $fieldIdentifierMap[$fieldDefinitionIdentifier]['field_definition_id'];
        }
        if (empty($fieldDefinitionIdList)) {
            throw new InvalidArgumentException('$criterion->target', "No searchable fields found for the given criterion target '{$fieldDefinitionIdentifier}'.");
        }
        return $fieldDefinitionIdList;
    }