1
0
mirror of synced 2025-03-22 07:53:49 +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;
}
$count = count($rowData['newObjects']);
$scalarCount = (isset($rowData['scalars'])? count($rowData['scalars']): 0);
foreach ($rowData['newObjects'] as $objIndex => $newObject) {
$class = $newObject['class'];
$args = $newObject['args'];
$obj = $class->newInstanceArgs($args);
if ($count === 1) {
// if ($count === 1) {
if (count($args) == $scalarCount || ($scalarCount == 0 && count($rowData['newObjects'])) {
$result[$resultKey] = $obj;
continue;

View File

@ -553,7 +553,8 @@ class ObjectHydrator extends AbstractHydrator
$args = $newObject['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;
continue;