From 060bbb13661e58d2a14c76244580e354693585e7 Mon Sep 17 00:00:00 2001 From: Marco Pivetta Date: Fri, 5 Dec 2014 14:56:47 +0100 Subject: [PATCH] DDC-3336 - applied hotfix: only `PathExpression` instances have a `$field` property --- .../Tools/Pagination/LimitSubqueryOutputWalker.php | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/lib/Doctrine/ORM/Tools/Pagination/LimitSubqueryOutputWalker.php b/lib/Doctrine/ORM/Tools/Pagination/LimitSubqueryOutputWalker.php index 6598cf2b1..25cce9eeb 100644 --- a/lib/Doctrine/ORM/Tools/Pagination/LimitSubqueryOutputWalker.php +++ b/lib/Doctrine/ORM/Tools/Pagination/LimitSubqueryOutputWalker.php @@ -13,6 +13,7 @@ namespace Doctrine\ORM\Tools\Pagination; +use Doctrine\ORM\Query\AST\PathExpression; use Doctrine\ORM\Query\SqlWalker; use Doctrine\ORM\Query\AST\SelectStatement; use Doctrine\DBAL\Platforms\PostgreSqlPlatform; @@ -196,12 +197,14 @@ class LimitSubqueryOutputWalker extends SqlWalker $orderBy = array(); if (isset($AST->orderByClause)) { foreach ($AST->orderByClause->orderByItems as $item) { - $possibleAliases = (is_object($item->expression)) - ? array_keys($this->rsm->fieldMappings, $item->expression->field) - : array_keys($this->rsm->scalarMappings, $item->expression); + $expression = $item->expression; + + $possibleAliases = $expression instanceof PathExpression + ? array_keys($this->rsm->fieldMappings, $expression->field) + : array_keys($this->rsm->scalarMappings, $expression); foreach ($possibleAliases as $alias) { - if (!is_object($item->expression) || $this->rsm->columnOwnerMap[$alias] == $item->expression->identificationVariable) { + if (!is_object($expression) || $this->rsm->columnOwnerMap[$alias] == $expression->identificationVariable) { $sqlOrderColumns[] = $alias; $orderBy[] = $alias . ' ' . $item->type; break;