LimitSubqueryOutputWalker
class LimitSubqueryOutputWalker extends SqlWalker
Wraps the query in order to select root entity IDs for pagination.
Given a DQL like SELECT u FROM User u
it will generate an SQL query like:
SELECT DISTINCT
Works with composite keys but cannot deal with queries that have multiple
root entities (e.g. SELECT f, b from Foo, Bar
)
Methods
Constructor.
Walks down a SelectStatement AST node, wrapping it in a SELECT DISTINCT.
Walks down a SelectStatement AST node, wrapping it in a SELECT DISTINCT.
Walks down a SelectStatement AST node, wrapping it in a SELECT DISTINCT.
getter for $orderByPathExpressions
{@inheritdoc}
{@inheritdoc}
Details
at line 108
__construct(Query $query, ParserResult $parserResult, array $queryComponents)
Constructor.
Stores various parameters that are otherwise unavailable because Doctrine\ORM\Query\SqlWalker keeps everything private without accessors.
at line 179
string
walkSelectStatement(SelectStatement $AST)
Walks down a SelectStatement AST node, wrapping it in a SELECT DISTINCT.
at line 197
string
walkSelectStatementWithRowNumber(SelectStatement $AST)
Walks down a SelectStatement AST node, wrapping it in a SELECT DISTINCT.
This method is for use with platforms which support ROW_NUMBER.
at line 256
string
walkSelectStatementWithoutRowNumber(SelectStatement $AST, bool $addMissingItemsFromOrderByToSelect = true)
Walks down a SelectStatement AST node, wrapping it in a SELECT DISTINCT.
This method is for platforms which DO NOT support ROW_NUMBER.
at line 486
array
getOrderByPathExpressions()
getter for $orderByPathExpressions
at line 583
walkPathExpression($pathExpr)
{@inheritdoc}
at line 595
walkSubSelect($subselect)
{@inheritdoc}