From 7bb23b6108050de7251bf22ae5ec71da31d89932 Mon Sep 17 00:00:00 2001 From: Nico Stapelbroek Date: Mon, 19 Mar 2018 07:32:53 +0100 Subject: [PATCH] Remove an meta model if the corresponding value is considered empty --- app/Bus/Handlers/Traits/StoresMeta.php | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/app/Bus/Handlers/Traits/StoresMeta.php b/app/Bus/Handlers/Traits/StoresMeta.php index d22a75df..30eedf8b 100644 --- a/app/Bus/Handlers/Traits/StoresMeta.php +++ b/app/Bus/Handlers/Traits/StoresMeta.php @@ -21,6 +21,10 @@ trait StoresMeta * @param $meta * @param $type * @param $id + * + * @return void + * + * @throws \Exception */ public function storeMeta($meta, $type, $id) { @@ -30,19 +34,22 @@ trait StoresMeta } foreach ($meta as $key => $value) { - if (empty($value)) { - continue; - } - $meta = Meta::firstOrNew([ 'key' => $key, 'meta_type' => $type, 'meta_id' => $id, ]); - $meta->value = $value; + if (!empty($value)) { + $meta->value = $value; + $meta->save(); + continue; + } - $meta->save(); + // The value is empty, remove the row + if($meta->exists) { + $meta->delete(); + } } } }