From: Vincent Vanwaelscappel Date: Wed, 3 May 2023 13:44:06 +0000 (+0200) Subject: wip #5851 @0.25 X-Git-Url: http://git.cubedesigners.com/?a=commitdiff_plain;h=d1e4389c6a581c803f51a4e5dbfa2bca915c2d4e;p=cubist_cms-back.git wip #5851 @0.25 --- diff --git a/src/app/Magic/Models/CubistMagicAbstractModel.php b/src/app/Magic/Models/CubistMagicAbstractModel.php index 6b9c392..e18f9e2 100644 --- a/src/app/Magic/Models/CubistMagicAbstractModel.php +++ b/src/app/Magic/Models/CubistMagicAbstractModel.php @@ -169,7 +169,7 @@ class CubistMagicAbstractModel extends Model implements HasMedia if (null !== $this->connection) { $this->setConnection($this->connection); } - $label = 'Set '.get_class($this).' form fields'; + $label = 'Set ' . get_class($this) . ' form fields'; start_measure($label); $this->setFields(); $this->postSetFields(); @@ -264,6 +264,25 @@ class CubistMagicAbstractModel extends Model implements HasMedia } } + public function addFakes($columns = ['extras']) + { + foreach ($columns as $key => $column) { + if (!isset($this->attributes[$column])) { + continue; + } + + $column_contents = $this->{$column}; + if (!is_array($column_contents) && !is_object($columns) && $this->shouldDecodeFake($column)) { + $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() {