Class

eZ\Publish\API\Repository\Values\Content\Query\Criterion\Subtree

class Subtree extends Criterion implements CriterionInterface

Criterion that matches content that belongs to a given (list of) Subtree(s).

Content will be matched if it is part of at least one of the given subtree path strings

Properties

string $operator The operator used by the Criterion.
array(int|string) $value The value(s) matched by the criteria.
string $target The target used by the criteria (field, metadata...).
Value $valueData Additional value data, required by some criterions, MapLocationDistance for instance.

Methods

__construct(string|string[] $value)

Creates a new SubTree criterion.

static  createFromQueryBuilder($target, $operator, $value)

Specifications[] getSpecifications()

Criterion description function.

Details

at line 31
public __construct(string|string[] $value)

Creates a new SubTree criterion.

Parameters

string|string[] $value an array of subtree path strings, eg: /1/2/

Exceptions

InvalidArgumentException if a non path string is given
InvalidArgumentException if the value type doesn't match the operator

at line 58
static public createFromQueryBuilder($target, $operator, $value)

Parameters

$target
$operator
$value

at line 42
public Specifications[] getSpecifications()

Criterion description function.

Returns the combination of the Criterion's supported operator/value, as an array of eZ\Publish\API\Repository\Values\Content\Query\Criterion\Operator\Specifications objects - Operator is one supported Operator, as an Operator::* constant - ValueType is the type of input value this operator requires, either array or single - SupportedTypes is an array of types the operator will accept - ValueCountLimitation is an integer saying how many values are expected.

// IN and EQ are supported return array( // The EQ operator expects a single value, either as an integer or a string new Specifications( Operator::EQ, Specifications::INPUTTYPESINGLE, array( Specifications::INPUTVALUEINTEGER, Specifications::INPUTVALUESTRING ), ), // The IN operator expects an array of values, of either integers or strings new Specifications( Operator::IN, Specifications::INPUTTYPEARRAY, array( Specifications::INPUTVALUEINTEGER, Specifications::INPUTVALUESTRING ) ) )*

Return Value

Specifications[]