Browse Source

Make sure it also works for non entity results. Also do not set field to dirty.

dereuromark 8 years ago
parent
commit
f83e79a6f1
1 changed files with 10 additions and 0 deletions
  1. 10 0
      src/Model/Behavior/BitmaskedBehavior.php

+ 10 - 0
src/Model/Behavior/BitmaskedBehavior.php

@@ -97,7 +97,17 @@ class BitmaskedBehavior extends Behavior {
 		}
 
 		$mapper = function ($row, $key, $mr) use ($field, $mappedField) {
+			if (!is_object($row)) {
+				if (isset($row[$field])) {
+					$row[$mappedField] = $this->decodeBitmask($row[$field]);
+				}
+				$mr->emit($row);
+				return;
+			}
+
+			/** @var EntityInterface $row */
 			$row->set($mappedField, $this->decodeBitmask($row->get($field)));
+			$row->setDirty($mappedField, false);
 			$mr->emit($row);
 		};
 		$query->mapReduce($mapper);