File tree Expand file tree Collapse file tree 7 files changed +53
-5
lines changed
app/Filament/Resources/SettingResource/Pages
resources/themes/anchor/partials Expand file tree Collapse file tree 7 files changed +53
-5
lines changed Original file line number Diff line number Diff line change 2
2
3
3
namespace App \Filament \Resources \SettingResource \Pages ;
4
4
5
+ use Illuminate \Support \Facades \Cache ;
5
6
use App \Filament \Resources \SettingResource ;
6
7
use Filament \Actions ;
7
8
use Filament \Resources \Pages \CreateRecord ;
8
9
9
10
class CreateSetting extends CreateRecord
10
11
{
11
12
protected static string $ resource = SettingResource::class;
13
+
14
+ protected function afterCreate (): void
15
+ {
16
+ Cache::forget ('wave_settings ' );
17
+ }
12
18
}
Original file line number Diff line number Diff line change 2
2
3
3
namespace App \Filament \Resources \SettingResource \Pages ;
4
4
5
+ use Illuminate \Support \Facades \Cache ;
5
6
use App \Filament \Resources \SettingResource ;
6
7
use Filament \Actions ;
7
8
use Filament \Resources \Pages \EditRecord ;
@@ -16,4 +17,9 @@ protected function getHeaderActions(): array
16
17
Actions \DeleteAction::make (),
17
18
];
18
19
}
20
+
21
+ protected function afterSave (): void
22
+ {
23
+ Cache::forget ('wave_settings ' );
24
+ }
19
25
}
Original file line number Diff line number Diff line change 2
2
3
3
namespace App \Filament \Resources \SettingResource \Pages ;
4
4
5
+ use Illuminate \Support \Facades \Cache ;
5
6
use App \Filament \Resources \SettingResource ;
6
7
use Filament \Actions ;
7
8
use Filament \Resources \Pages \ListRecords ;
@@ -16,4 +17,9 @@ protected function getHeaderActions(): array
16
17
Actions \CreateAction::make (),
17
18
];
18
19
}
20
+
21
+ protected function afterDelete (): void
22
+ {
23
+ Cache::forget ('wave_settings ' );
24
+ }
19
25
}
Original file line number Diff line number Diff line change 199
199
</ul >
200
200
</div >
201
201
</x-container >
202
- </footer >
202
+ </footer >
Original file line number Diff line number Diff line change 19
19
20
20
Route::get ('role ' , function (){
21
21
dd (\App \Models \User::find (2 )->roles );
22
- });
22
+ });
Original file line number Diff line number Diff line change 1
1
<?php
2
2
3
3
use Illuminate \Database \Eloquent \Relations \Relation ;
4
+ use Illuminate \Support \Facades \Cache ;
4
5
5
6
if (!function_exists ('setting ' )) {
6
7
function setting ($ key , $ default = null )
7
8
{
8
- $ value = ( $ default == null ) ? '' : $ default ;
9
+ static $ settingsCache = null ;
9
10
10
- return $ value ;
11
+ // Fetch all settings from cache or database
12
+ if ($ settingsCache === null ) {
13
+ $ settingsCache = Cache::rememberForever ('wave_settings ' , function () {
14
+ return Wave \Setting::pluck ('value ' , 'key ' )->toArray ();
15
+ });
16
+ }
17
+
18
+ // Return the requested setting or default value if not found
19
+ return $ settingsCache [$ key ] ?? $ default ;
11
20
}
12
21
}
13
22
@@ -83,4 +92,4 @@ function get_default_billing_cycle(){
83
92
// Return null or a default value if neither is present
84
93
return 'Monthly ' ; // or any default value you prefer
85
94
}
86
- }
95
+ }
Original file line number Diff line number Diff line change 2
2
3
3
namespace Wave ;
4
4
5
+ use Illuminate \Support \Facades \Cache ;
5
6
use Illuminate \Database \Eloquent \Model ;
6
7
7
8
class Setting extends Model
@@ -12,4 +13,24 @@ class Setting extends Model
12
13
13
14
public $ timestamps = false ;
14
15
16
+ protected static function booted ()
17
+ {
18
+ static ::saved (function () {
19
+ Cache::forget ('wave_settings ' );
20
+ });
21
+
22
+ static ::deleted (function () {
23
+ Cache::forget ('wave_settings ' );
24
+ });
25
+ }
26
+
27
+ public static function get ($ key , $ default = null )
28
+ {
29
+ $ settings = Cache::rememberForever ('wave_settings ' , function () {
30
+ return self ::pluck ('value ' , 'key ' )->toArray ();
31
+ });
32
+
33
+ return $ settings [$ key ] ?? $ default ;
34
+ }
35
+
15
36
}
You can’t perform that action at this time.
0 commit comments