$key], ['value' => is_scalar($value) || $value === null ? $value : json_encode($value)]); self::flushCache(); } public static function forget(string $key): void { self::where('key', $key)->delete(); self::flushCache(); } public static function allSettings(): array { return Cache::remember(self::CACHE_KEY, now()->addDay(), function () { return self::query()->pluck('value', 'key')->all(); }); } public static function flushCache(): void { Cache::forget(self::CACHE_KEY); } public static function seedDefaults(array $defaults): void { foreach ($defaults as $key => $value) { if (! self::query()->where('key', $key)->exists()) { self::query()->create(['key' => $key, 'value' => $value]); } } self::flushCache(); } }