]> _ Git - cubist_cms-back.git/commitdiff
wip #5840 @0.25
authorVincent Vanwaelscappel <vincent@cubedesigners.com>
Thu, 30 Mar 2023 14:44:48 +0000 (16:44 +0200)
committerVincent Vanwaelscappel <vincent@cubedesigners.com>
Thu, 30 Mar 2023 14:44:48 +0000 (16:44 +0200)
src/app/Magic/Models/CubistMagicAbstractModel.php

index 8ad02f2de524a7209cad55c2171e2f5e7d654d6e..347011b9570e66c1bf7a8200c37d21aedef82684 100644 (file)
@@ -277,6 +277,33 @@ class CubistMagicAbstractModel extends Model implements HasMedia
         }
     }
 
+    public function addFakes($columns = ['extras'])
+    {
+        try {
+            return parent::addFakes($columns);
+        } catch (\Exception $e) {
+
+        }
+
+        foreach ($columns as $key => $column) {
+            if (!isset($this->attributes[$column])) {
+                continue;
+            }
+
+            $column_contents = $this->{$column};
+
+            if ($this->shouldDecodeFake($column) && is_string($column_contents)) {
+                $column_contents = json_decode($column_contents);
+            }
+
+            if ((is_array($column_contents) || is_object($column_contents) || $column_contents instanceof Traversable)) {
+                foreach ($column_contents as $fake_field_name => $fake_field_value) {
+                    $this->setAttribute($fake_field_name, $fake_field_value);
+                }
+            }
+        }
+    }
+
 
     public function getFields()
     {