Browse Source

More marshaller tests fixed

Jose Lorenzo Rodriguez 11 years ago
parent
commit
4bf5f107cb
1 changed files with 5 additions and 4 deletions
  1. 5 4
      src/ORM/Marshaller.php

+ 5 - 4
src/ORM/Marshaller.php

@@ -256,7 +256,7 @@ class Marshaller {
 
 			if (isset($propertyMap[$key])) {
 				$assoc = $propertyMap[$key]['association'];
-				$nested = $propertyMap[$key]['nested'];
+				$nested = ['associated' => $propertyMap[$key]['nested']];
 				$value = $this->_mergeAssociation($original, $assoc, $value, $nested);
 			} elseif ($columnType) {
 				$converter = Type::build($columnType);
@@ -363,6 +363,7 @@ class Marshaller {
  */
 	protected function _mergeBelongsToMany($original, $assoc, $value, $options) {
 		$hasIds = array_key_exists('_ids', $value);
+		$associated = isset($options['associated']) ? $options['associated'] : [];
 		if ($hasIds && is_array($value['_ids'])) {
 			return $this->_loadBelongsToMany($assoc, $value['_ids']);
 		}
@@ -370,7 +371,7 @@ class Marshaller {
 			return [];
 		}
 
-		if (!in_array('_joinData', $options) && !isset($options['_joinData'])) {
+		if (!in_array('_joinData', $associated) && !isset($associated['_joinData'])) {
 			return $this->mergeMany($original, $value, $options);
 		}
 
@@ -386,8 +387,8 @@ class Marshaller {
 		$marshaller = $joint->marshaller();
 
 		$nested = [];
-		if (isset($options['_joinData']['associated'])) {
-			$nested = (array)$options['_joinData']['associated'];
+		if (isset($associated['_joinData']['associated'])) {
+			$nested = ['associated' => (array)$associated['_joinData']['associated']];
 		}
 
 		$records = $this->mergeMany($original, $value, $options);