eZ\Publish\Core\Search\Elasticsearch\Content\CriterionVisitor\ContentTypeIdentifierIn::visitFilter PHP Method

visitFilter() public method

Map field value to a proper Elasticsearch filter representation.
public visitFilter ( eZ\Publish\API\Repository\Values\Content\Query\Criterion $criterion, CriterionVisitorDispatcher $dispatcher, array $languageFilter ) : mixed
$criterion eZ\Publish\API\Repository\Values\Content\Query\Criterion
$dispatcher eZ\Publish\Core\Search\Elasticsearch\Content\CriterionVisitorDispatcher
$languageFilter array
return mixed
    public function visitFilter(Criterion $criterion, Dispatcher $dispatcher, array $languageFilter)
    {
        if (count($criterion->value) > 1) {
            $idList = array();
            foreach ($criterion->value as $identifier) {
                $idList[] = $this->contentTypeHandler->loadByIdentifier($identifier)->id;
            }
            $filter = array('terms' => array('type_id' => $idList));
        } else {
            $filter = array('term' => array('type_id' => $this->contentTypeHandler->loadByIdentifier($criterion->value[0])->id));
        }
        return $filter;
    }