Query
class Query implements QueryInterface (View source)
A Query class for Doctrine 2
Properties
protected string | $entityClassName | ||
protected LoggerInterface | $logger | ||
protected ThrowableStorageInterface | $throwableStorage | ||
protected QueryBuilder | $queryBuilder | ||
protected EntityManagerInterface | $entityManager | ||
protected array | $settings | ||
protected mixed | $constraint | ||
protected array | $orderings | ||
protected int|null | $limit | ||
protected bool | $distinct | ||
protected int|null | $offset | ||
protected int | $parameterIndex | ||
protected Parameter> | $parameters | ||
protected array | $joins | ||
protected int | $joinAliasCounter | ||
protected bool | $cacheResult |
Methods
No description
No description
Injects the Flow settings, the persistence part is kept for further use.
No description
Returns the type this query cares for.
Executes the query and returns the result.
Gets the results of this query as array.
Returns the query result count
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 )
Returns 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 )
Sets the maximum size of the result set to limit. Returns $this to allow for chaining (fluid interface)
Returns the maximum size of the result set to limit.
Sets the DISTINCT flag for this query.
Returns the DISTINCT flag for this query.
Sets the start offset of the result set to offset. Returns $this to allow for chaining (fluid interface)
Returns the start offset of the result set.
The constraint used to limit the result set. Returns $this to allow for chaining (fluid interface)
Gets the constraint for this query.
Performs a logical conjunction of the two given constraints. The method takes one or more constraints and concatenates them with a boolean AND.
Performs a logical disjunction of the two given constraints. The method takes one or more constraints and concatenates them with a boolean OR.
Performs a logical negation of the given constraint
Returns an equals criterion used for matching objects against a query.
Returns a like criterion used for matching objects against a query.
Returns a "contains" criterion used for matching objects against a query.
Returns an "isEmpty" criterion used for matching objects against a query.
Returns an "in" criterion used for matching objects against a query. It matches if the property's value is contained in the multivalued operand.
Returns a less than criterion used for matching objects against a query
Returns a less or equal than criterion used for matching objects against a query
Returns a greater than criterion used for matching objects against a query
Returns a greater than or equal criterion used for matching objects against a query
Add parameters to the query
Gets all defined query parameters for the query being constructed.
Get a needle for parameter binding.
Adds left join clauses along the given property path to the query, if needed.
Return the SQL statements representing this Query.
We need to drop the query builder, as it contains a PDO instance deep inside.
Recreate query builder and set state again.
Cloning the query clones also the internal QueryBuilder, as they are tightly coupled.
No description
Details
__construct(string $entityClassName)
No description
void
injectEntityManager(EntityManagerInterface $entityManager)
No description
void
injectSettings(array $settings)
Injects the Flow settings, the persistence part is kept for further use.
injectLogger(LoggerInterface $logger)
No description
string
getType()
Returns the type this query cares for.
QueryResultInterface
execute(bool $cacheResult = false)
Executes the query and returns the result.
array
getResult()
Gets the results of this query as array.
Really executes the query on the database. This should only ever be executed from the QueryResult class.
int
count()
Returns 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 )
array
getOrderings()
Returns 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 )
QueryInterface
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.
QueryInterface
setDistinct(bool $distinct = true)
Sets the DISTINCT flag for this query.
bool
isDistinct()
Returns the DISTINCT flag for this query.
QueryInterface
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.
QueryInterface
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, mixed ...$constraints)
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.
object
logicalOr(mixed $constraint1, mixed ...$constraints)
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.
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.
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.
Note: case-sensitivity is only possible if the database supports it. E.g. if you are using MySQL with a case-insensitive collation you will not be able to test for case-sensitive equality (the other way around works, because we compare lowercased values).
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.
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!
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.
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
void
addParameters(array $parameters)
Add parameters to the query
ArrayCollection
getParameters()
Gets all defined query parameters for the query being constructed.
protected string
getParamNeedle(mixed $operand)
Get a needle for parameter binding.
protected string
getPropertyNameWithAlias(string $propertyPath)
Adds left join clauses along the given property path to the query, if needed.
This enables us to set conditions on related objects.
string|string[]
getSql()
Return the SQL statements representing this Query.
array
__sleep()
We need to drop the query builder, as it contains a PDO instance deep inside.
void
__wakeup()
Recreate query builder and set state again.
__clone()
Cloning the query clones also the internal QueryBuilder, as they are tightly coupled.
QueryBuilder
getQueryBuilder()
No description