Settings helps to store and retrieve general settings or model settings in Laravel.
Install the latest version using Composer.
1composer require pharaonic/laravel-settings2php artisan migrate
Using settings helper to store and retrieve the general settings.
This is how you can store the general settings, there are 3 ways so you can use the one that you like.
1// Way 1 2settings()->status = false; 3 4// Way 2 5settings()->set('off_message', 'Maintenance'); 6 7// Way 3 8settings()->set([ 9 'status' => true,10 'off_message' => 'Maintenance'11]);12 13// Save all settings 14settings()->save();
This is how you can retrieve the general settings, there are 3 ways so you can use the one that you like.
1// Way 1 2// Returns string|null 3settings()->status; 4 5// Way 2 6// Returns string|null 7settings()->get('off_message'); 8 9// Way 3 10// Returns Collection11$data = settings()->get(['status', 'off_message']);12echo $data->off_message->value;
Using Settingable trait to store and retrieve the settings of a specific model.
You have to include Settingable first in your model.
1namespace App\Models;2 3use Illuminate\Foundation\Auth\User as Authenticatable;4use Pharaonic\Laravel\Settings\Traits\Settingable; 5 6class User extends Authenticatable7{8 use Settingable; 9}
This is how you can store the settings of a specific model, there are 3 ways so you can use the one that you like.
1// Way 1 2$user->settings->multilingual = true; 3 4// Way 2 5$user->settings->set('notifiable', true); 6 7// Way 3 8$user->settings->set([ 9 'multilingual' => true,10 'notifiable' => true,11]);12 13// Save all settings 14$user->settings->save();
This is how you can retrieve the settings of a specific model, there are 3 ways so you can use the one that you like.
1// Way 1 2// Returns string|null 3$user->settings->notifiable; 4 5// Way 2 6// Returns string|null 7$user->settings->get('multilingual'); 8 9// Way 3 10// Returns Collection11$data = $user->settings->get(['multilingual', 'notifiable']);12echo $data->multilingual->value;