From 201aff6c0ae5d50b184fd38020741870d7cdd116 Mon Sep 17 00:00:00 2001 From: IceToast Date: Fri, 10 Feb 2023 00:42:43 +0100 Subject: [PATCH] =?UTF-8?q?feat:=20=E2=9C=A8=20Set=20Values=20with=20corre?= =?UTF-8?q?ct=20type?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Controllers/Admin/SettingsController.php | 21 ++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/app/Http/Controllers/Admin/SettingsController.php b/app/Http/Controllers/Admin/SettingsController.php index be130134..3c86c68a 100644 --- a/app/Http/Controllers/Admin/SettingsController.php +++ b/app/Http/Controllers/Admin/SettingsController.php @@ -88,9 +88,24 @@ class SettingsController extends Controller $settingsClass = new $className(); - foreach ($request->all() as $key => $value) { - if ($key === '_token' || $key === 'category') continue; - $settingsClass->$key = $value; + foreach ($settingsClass->toArray() as $key => $value) { + switch (gettype($value)) { + case 'boolean': + $settingsClass->$key = $request->has($key); + break; + case 'string': + $settingsClass->$key = $request->input($key) ?? ''; + break; + case 'integer': + $settingsClass->$key = $request->input($key) ?? 0; + break; + case 'array': + $settingsClass->$key = $request->input($key) ?? []; + break; + case 'double': + $settingsClass->$key = $request->input($key) ?? 0.0; + break; + } } $settingsClass->save();