public function handle(CriteriaConverter $converter, SelectQuery $query, Criterion $criterion, array $languageSettings)
{
$column = $this->dbHandler->quoteColumn('depth', 'ezcontentobject_tree');
switch ($criterion->operator) {
case Criterion\Operator::IN:
return $query->expr->in($column, $criterion->value);
case Criterion\Operator::BETWEEN:
return $query->expr->between($column, $query->bindValue($criterion->value[0]), $query->bindValue($criterion->value[1]));
case Criterion\Operator::EQ:
case Criterion\Operator::GT:
case Criterion\Operator::GTE:
case Criterion\Operator::LT:
case Criterion\Operator::LTE:
$operatorFunction = $this->comparatorMap[$criterion->operator];
return $query->expr->{$operatorFunction}($column, $query->bindValue(reset($criterion->value)));
default:
throw new RuntimeException("Unknown operator '{$criterion->operator}' for Depth criterion handler.");
}
}