check()) { return $default; } $user = auth()->user(); // Se l'utente ha un campo settings if (isset($user->settings) && is_array($user->settings)) { return $user->settings[$key] ?? $default; } // Se l'utente ha una relazione settings if (method_exists($user, 'settings')) { $setting = $user->settings()->where('key', $key)->first(); return $setting ? $setting->value : $default; } return $default; } } if (!function_exists('setUserSetting')) { /** * Imposta un'impostazione utente * * @param string $key * @param mixed $value * @return bool */ function setUserSetting($key, $value) { if (!auth()->check()) { return false; } $user = auth()->user(); // Se l'utente ha un campo settings if (isset($user->settings)) { $settings = is_array($user->settings) ? $user->settings : []; $settings[$key] = $value; $user->settings = $settings; return $user->save(); } // Se l'utente ha una relazione settings if (method_exists($user, 'settings')) { return $user->settings()->updateOrCreate( ['key' => $key], ['value' => $value] ); } return false; } }