1
0
mirror of synced 2025-02-20 22:23:14 +03:00

Improved error messages in Paginator: LimitSubqueryOutputWalker

The already existing follow-up check throwing "Not all identifier properties can be found in the ResultSetMapping: %s" is a much more technical description.

If $sqlIdentifier is empty (count 0) it can be concluded that there are no mapped results. An alternative error message could thus be "The Paginator does not support queries without mapped results." (line 153).

Possibly '!=' on line 154 could be replaced by '>' because i think this is the only situation that can occur. But since i don't know this for sure, i left it like i found it.

Didn't use elseif in this commit as per Stof his suggestion.
This commit is contained in:
flip111 2013-09-17 21:01:09 +02:00
parent b803f06c8f
commit a18aba1bb6

View File

@ -151,7 +151,9 @@ class LimitSubqueryOutputWalker extends SqlWalker
if (count($sqlIdentifier) === 0) {
throw new \RuntimeException('The Paginator does not support Queries which only yield ScalarResults.');
} elseif (count($rootIdentifier) != count($sqlIdentifier)) {
}
if (count($rootIdentifier) != count($sqlIdentifier)) {
throw new \RuntimeException(sprintf(
'Not all identifier properties can be found in the ResultSetMapping: %s',
implode(', ', array_diff($rootIdentifier, array_keys($sqlIdentifier)))