From fdfdbbbb88299a197c403e0a63238b0969743c16 Mon Sep 17 00:00:00 2001 From: Vincent Vanwaelscappel Date: Tue, 8 Mar 2022 23:05:28 +0100 Subject: [PATCH] wip #5150 @0.25 --- .../Commands/RefreshComposedAttributesCommand.php | 9 ++++++--- src/app/Magic/Models/CubistMagicAbstractModel.php | 13 ++++++++++--- 2 files changed, 16 insertions(+), 6 deletions(-) diff --git a/src/app/Console/Commands/RefreshComposedAttributesCommand.php b/src/app/Console/Commands/RefreshComposedAttributesCommand.php index 4904840..e86e529 100644 --- a/src/app/Console/Commands/RefreshComposedAttributesCommand.php +++ b/src/app/Console/Commands/RefreshComposedAttributesCommand.php @@ -44,10 +44,13 @@ class RefreshComposedAttributesCommand extends CubistMagicCommand { $this->line('Handling ' . get_class($model)); - try { - call_user_func(get_class($model), 'refreshComposedAttributes'); - } catch (\Exception $e) { + $res = call_user_func([get_class($model), 'refreshComposedAttributes']); + if (!$res) { + $this->line('No composed attributes'); + } else { + $this->line($res . ' models updated'); } + } } diff --git a/src/app/Magic/Models/CubistMagicAbstractModel.php b/src/app/Magic/Models/CubistMagicAbstractModel.php index 3ba4fc9..e73c23c 100644 --- a/src/app/Magic/Models/CubistMagicAbstractModel.php +++ b/src/app/Magic/Models/CubistMagicAbstractModel.php @@ -1172,17 +1172,24 @@ class CubistMagicAbstractModel extends Model implements HasMedia { $all = static::all(); $hasComposed = false; + $nb = 0; foreach ($all as $instance) { foreach ($instance->getFields() as $field) { if ($field instanceof Composed) { $hasComposed = true; - $instance->getAttribute($field->getName()); + $n = $field->getName(); + $v = $instance->getAttribute($n); + $instance->setAttribute($n, $v); } } if (!$hasComposed) { - return; + return false; + } + + if ($instance->save()) { + $nb++; } - $instance->save(); } + return $nb; } } -- 2.39.5