1
0
mirror of synced 2025-03-23 00:13:50 +03:00

fixed for failing test case. when a single DTO is specified in the query, you no longer get a multidimensional array returned.

This commit is contained in:
jaimz22 2014-11-08 16:36:55 +00:00
parent 2ffda34f23
commit c47a072815
2 changed files with 5 additions and 3 deletions

View File

@ -246,14 +246,15 @@ class ArrayHydrator extends AbstractHydrator
$resultKey = $this->_resultCounter - 1; $resultKey = $this->_resultCounter - 1;
} }
$count = count($rowData['newObjects']); $scalarCount = (isset($rowData['scalars'])? count($rowData['scalars']): 0);
foreach ($rowData['newObjects'] as $objIndex => $newObject) { foreach ($rowData['newObjects'] as $objIndex => $newObject) {
$class = $newObject['class']; $class = $newObject['class'];
$args = $newObject['args']; $args = $newObject['args'];
$obj = $class->newInstanceArgs($args); $obj = $class->newInstanceArgs($args);
if ($count === 1) { // if ($count === 1) {
if (count($args) == $scalarCount || ($scalarCount == 0 && count($rowData['newObjects'])) {
$result[$resultKey] = $obj; $result[$resultKey] = $obj;
continue; continue;

View File

@ -553,7 +553,8 @@ class ObjectHydrator extends AbstractHydrator
$args = $newObject['args']; $args = $newObject['args'];
$obj = $class->newInstanceArgs($args); $obj = $class->newInstanceArgs($args);
if (count($args) == $scalarCount) { // if (count($args) == $scalarCount) {
if (count($args) == $scalarCount || ($scalarCount == 0 && count($rowData['newObjects']))) {
$result[$resultKey] = $obj; $result[$resultKey] = $obj;
continue; continue;