Browse Source

Se agrego metodo en ExtraDataTrait

Guillermo Espinoza 7 years ago
parent
commit
5f45a84eb9
2 changed files with 19 additions and 5 deletions
  1. 2 3
      Command/UpdateExtraDataCommand.php
  2. 17 2
      Entity/Traits/ExtraDataTrait.php

+ 2 - 3
Command/UpdateExtraDataCommand.php

@@ -72,7 +72,7 @@ class UpdateExtraDataCommand extends ContainerAwareCommand
                 return;
             }
             
-            $entityExtraData = json_decode($entity->getExtraData(), true);
+            $entityExtraData = $entity->jsonExtraData();
             $extradata = json_decode($response, true);
             if (!empty($fields)) {
                 foreach ($fields as $field) {
@@ -83,8 +83,7 @@ class UpdateExtraDataCommand extends ContainerAwareCommand
             } else {
                 $entityExtraData = array_merge($entityExtraData, $extradata);
             }
-            
-            $entity->setExtraData(json_encode($entityExtraData));
+            $entity->setJsonExtraData($entityExtraData);
             $em->flush($entity);
 
             $output->writeln(sprintf('Entity: %s id: %s updated!', $entityClass, $entity->getId()));

+ 17 - 2
Entity/Traits/ExtraDataTrait.php

@@ -20,6 +20,7 @@ trait ExtraDataTrait
      */
     private $extraData;
 
+
     /**
      * @return string
      */
@@ -40,8 +41,22 @@ trait ExtraDataTrait
         return $this;
     }
 
-    public function jsonExtraData(){
-	return json_decode($this->extraData, true);
+    /**
+     * @return array
+     */
+    public function jsonExtraData()
+    {
+        return json_decode($this->extraData, true);
+    }
+
+    /**
+     * @param mixed $extraData
+     * 
+     * @return ExtraDataTrait
+     */
+    public function setJsonExtraData($extraData)
+    {
+        return $this->setExtraData(json_encode($extraData));
     }
 
 }