ソースを参照

Merge pull request #251 from bancer/patch-3

BitmaskedBehavior - do not set mapped field if it is not present in SELECT
Mark Sch 6 年 前
コミット
52322c883c
1 ファイル変更4 行追加2 行削除
  1. 4 2
      src/Model/Behavior/BitmaskedBehavior.php

+ 4 - 2
src/Model/Behavior/BitmaskedBehavior.php

@@ -140,8 +140,10 @@ class BitmaskedBehavior extends Behavior {
 
 			/** @var \Cake\Datasource\EntityInterface $entity */
 			$entity = $row;
-			$entity->set($mappedField, $this->decodeBitmask($entity->get($field)));
-			$entity->setDirty($mappedField, false);
+			if ($entity->has($field)) {
+				$entity->set($mappedField, $this->decodeBitmask($entity->get($field)));
+				$entity->setDirty($mappedField, false);
+			}
 			$mr->emit($entity);
 		};
 		$query->mapReduce($mapper);