interface QueryInterface (View source)

A persistence query interface.

The main point when implementing this is to make sure that methods with a return type of "object" return something that can be fed to matching() and all constraint-generating methods (like logicalAnd(), equals(), like(), ...).

This allows for code like $query->matching($query->equals('foo', 'bar'))->setLimit(10)->execute();

Constants

OPERATOR_EQUAL_TO

The '=' comparison operator.

OPERATOR_NOT_EQUAL_TO

The '!=' comparison operator.

OPERATOR_LESS_THAN

The '<' comparison operator.

OPERATOR_LESS_THAN_OR_EQUAL_TO

The '<=' comparison operator.

OPERATOR_GREATER_THAN

The '>' comparison operator.

OPERATOR_GREATER_THAN_OR_EQUAL_TO

The '>=' comparison operator.

OPERATOR_LIKE

The 'like' comparison operator.

OPERATOR_CONTAINS

The 'contains' comparison operator for collections.

OPERATOR_IN

The 'in' comparison operator.

OPERATOR_IS_NULL

The 'is NULL' comparison operator.

OPERATOR_IS_EMPTY

The 'is empty' comparison operator for collections.

ORDER_ASCENDING

Constants representing the direction when ordering result sets.

ORDER_DESCENDING

Methods

string
getType()

Returns the type this query cares for.

execute(bool $cacheResult = false)

Executes the query and returns the result.

int
count()

Returns the query result count.

setOrderings(array $orderings)

Sets the property names to order the result by. Expected like this: array( 'foo' => \Neos\Flow\Persistence\QueryInterface::ORDER_ASCENDING, 'bar' => \Neos\Flow\Persistence\QueryInterface::ORDER_DESCENDING )

array
getOrderings()

Gets the property names to order the result by, like this: array( 'foo' => \Neos\Flow\Persistence\QueryInterface::ORDER_ASCENDING, 'bar' => \Neos\Flow\Persistence\QueryInterface::ORDER_DESCENDING )

setLimit(int|null $limit)

Sets the maximum size of the result set to limit. Returns $this to allow for chaining (fluid interface).

int|null
getLimit()

Returns the maximum size of the result set to limit.

setDistinct(bool $distinct = true)

Sets the DISTINCT flag for this query.

bool
isDistinct()

Returns the DISTINCT flag for this query.

setOffset(int|null $offset)

Sets the start offset of the result set to offset. Returns $this to allow for chaining (fluid interface).

int|null
getOffset()

Returns the start offset of the result set.

matching(object $constraint)

The constraint used to limit the result set. Returns $this to allow for chaining (fluid interface).

mixed
getConstraint()

Gets the constraint for this query.

object
logicalAnd(mixed $constraint1)

Performs a logical conjunction of the two given constraints. The method takes one or more constraints and concatenates them with a boolean AND.

object
logicalOr(mixed $constraint1)

Performs a logical disjunction of the two given constraints. The method takes one or more constraints and concatenates them with a boolean OR.

object
logicalNot(object $constraint)

Performs a logical negation of the given constraint

object
equals(string $propertyName, mixed $operand, bool $caseSensitive = true)

Returns an equals criterion used for matching objects against a query.

object
like(string $propertyName, string $operand, bool $caseSensitive = true)

Returns a like criterion used for matching objects against a query.

mixed
contains(string $propertyName, mixed $operand)

Returns a "contains" criterion used for matching objects against a query.

mixed
isEmpty(string $propertyName)

Returns an "isEmpty" criterion used for matching objects against a query.

object
in(string $propertyName, mixed $operand)

Returns an "in" criterion used for matching objects against a query. It matches if the property's value is contained in the multivalued operand.

object
lessThan(string $propertyName, mixed $operand)

Returns a less than criterion used for matching objects against a query

object
lessThanOrEqual(string $propertyName, mixed $operand)

Returns a less or equal than criterion used for matching objects against a query

object
greaterThan(string $propertyName, mixed $operand)

Returns a greater than criterion used for matching objects against a query

object
greaterThanOrEqual(string $propertyName, mixed $operand)

Returns a greater than or equal criterion used for matching objects against a query

Details

string getType()

Returns the type this query cares for.

Return Value

string

QueryResultInterface execute(bool $cacheResult = false)

Executes the query and returns the result.

Parameters

bool $cacheResult

If the result cache should be used

Return Value

QueryResultInterface

The query result

int count()

Returns the query result count.

Return Value

int

The query result count

QueryInterface setOrderings(array $orderings)

Sets the property names to order the result by. Expected like this: array( 'foo' => \Neos\Flow\Persistence\QueryInterface::ORDER_ASCENDING, 'bar' => \Neos\Flow\Persistence\QueryInterface::ORDER_DESCENDING )

Parameters

array $orderings

The property names to order by

Return Value

QueryInterface

array getOrderings()

Gets the property names to order the result by, like this: array( 'foo' => \Neos\Flow\Persistence\QueryInterface::ORDER_ASCENDING, 'bar' => \Neos\Flow\Persistence\QueryInterface::ORDER_DESCENDING )

Return Value

array

QueryInterface setLimit(int|null $limit)

Sets the maximum size of the result set to limit. Returns $this to allow for chaining (fluid interface).

Parameters

int|null $limit

Return Value

QueryInterface

int|null getLimit()

Returns the maximum size of the result set to limit.

Return Value

int|null

QueryInterface setDistinct(bool $distinct = true)

Sets the DISTINCT flag for this query.

Parameters

bool $distinct

Return Value

QueryInterface

bool isDistinct()

Returns the DISTINCT flag for this query.

Return Value

bool

QueryInterface setOffset(int|null $offset)

Sets the start offset of the result set to offset. Returns $this to allow for chaining (fluid interface).

Parameters

int|null $offset

Return Value

QueryInterface

int|null getOffset()

Returns the start offset of the result set.

Return Value

int|null

QueryInterface matching(object $constraint)

The constraint used to limit the result set. Returns $this to allow for chaining (fluid interface).

Parameters

object $constraint

Some constraint, depending on the backend

Return Value

QueryInterface

mixed getConstraint()

Gets the constraint for this query.

Return Value

mixed

the constraint, or null if none

object logicalAnd(mixed $constraint1)

Performs a logical conjunction of the two given constraints. The method takes one or more constraints and concatenates them with a boolean AND.

It also accepts a single array of constraints to be concatenated.

Parameters

mixed $constraint1

The first of multiple constraints or an array of constraints.

Return Value

object

object logicalOr(mixed $constraint1)

Performs a logical disjunction of the two given constraints. The method takes one or more constraints and concatenates them with a boolean OR.

It also accepts a single array of constraints to be concatenated.

Parameters

mixed $constraint1

The first of multiple constraints or an array of constraints.

Return Value

object

object logicalNot(object $constraint)

Performs a logical negation of the given constraint

Parameters

object $constraint

Constraint to negate

Return Value

object

object equals(string $propertyName, mixed $operand, bool $caseSensitive = true)

Returns an equals criterion used for matching objects against a query.

It matches if the $operand equals the value of the property named $propertyName. If $operand is NULL a strict check for NULL is done. For strings the comparison can be done with or without case-sensitivity.

Decide what to do about equality on multi-valued properties

Parameters

string $propertyName

The name of the property to compare against

mixed $operand

The value to compare with

bool $caseSensitive

Whether the equality test should be done case-sensitive for strings

Return Value

object

object like(string $propertyName, string $operand, bool $caseSensitive = true)

Returns a like criterion used for matching objects against a query.

Matches if the property named $propertyName is like the $operand, using standard SQL wildcards.

Parameters

string $propertyName

The name of the property to compare against

string $operand

The value to compare with

bool $caseSensitive

Whether the matching should be done case-sensitive

Return Value

object

Exceptions

InvalidQueryException

mixed contains(string $propertyName, mixed $operand)

Returns a "contains" criterion used for matching objects against a query.

It matches if the multivalued property contains the given operand.

If NULL is given as $operand, there will never be a match!

Parameters

string $propertyName

The name of the multivalued property to compare against

mixed $operand

The value to compare with

Return Value

mixed

Exceptions

InvalidQueryException

mixed isEmpty(string $propertyName)

Returns an "isEmpty" criterion used for matching objects against a query.

It matches if the multivalued property contains no values or is NULL.

Parameters

string $propertyName

The name of the multivalued property to compare against

Return Value

mixed

Exceptions

InvalidQueryException

object in(string $propertyName, mixed $operand)

Returns an "in" criterion used for matching objects against a query. It matches if the property's value is contained in the multivalued operand.

Parameters

string $propertyName

The name of the property to compare against

mixed $operand

The value to compare with, multivalued

Return Value

object

Exceptions

InvalidQueryException

object lessThan(string $propertyName, mixed $operand)

Returns a less than criterion used for matching objects against a query

Parameters

string $propertyName

The name of the property to compare against

mixed $operand

The value to compare with

Return Value

object

Exceptions

InvalidQueryException

object lessThanOrEqual(string $propertyName, mixed $operand)

Returns a less or equal than criterion used for matching objects against a query

Parameters

string $propertyName

The name of the property to compare against

mixed $operand

The value to compare with

Return Value

object

Exceptions

InvalidQueryException

object greaterThan(string $propertyName, mixed $operand)

Returns a greater than criterion used for matching objects against a query

Parameters

string $propertyName

The name of the property to compare against

mixed $operand

The value to compare with

Return Value

object

Exceptions

InvalidQueryException

object greaterThanOrEqual(string $propertyName, mixed $operand)

Returns a greater than or equal criterion used for matching objects against a query

Parameters

string $propertyName

The name of the property to compare against

mixed $operand

The value to compare with

Return Value

object

Exceptions

InvalidQueryException