Download[RaggiTech] Laravel >= 6.0 - Settings/Info.
Laravel Settings/Info provides a quick and easy methods (General/Model).
Example:
// Create/Update Setting
$page->setSetting('facebook_url', 'https://www.facebook.com/RaggiTech');
// Retrieve Setting's Value
echo $page->setting('facebbok_url'); // https://www.facebook.com/RaggiTech
Install
Install the latest version using Composer:
$ composer require raggitech/laravel-settings
then publish the migration & migrate $ php artisan vendor:publish --tag=laravel-settings
$ php artisan migrate
Usage
// An Example : (Page Model)
// Using HasSettings in Page Model
...
use RaggiTech\Laravel\Settings\HasSettings;
class Page extends Model
{
use hasSettings;
...
<a name="gs"></a>
General Settings
<a name="gs_cu"></a>
Create / Update Setting's Value
use RaggiTech\Laravel\Settings\Settings;
// Single
Settings::set('website_status', true);
// Multi
Settings::set([
'website_status' => false,
'website_off_message' => 'OFFLINE!',
]);
<a name="gs_get"></a>
Retrieve Value & All
use RaggiTech\Laravel\Settings\Settings;
// Single
$setting = Settings::get('website_keywords'); // raggitech, raggi, ...
// All
$settings = Settings::get(); // => All General Setting
<a name="gs_dc"></a>
Delete & Clear
use RaggiTech\Laravel\Settings\Settings;
// Delete/Remove
Settings::remove('website_keywords');
// Clear
Settings::clear(); // Clearing the general settings
<a name="m"></a>
Model Settings
<a name="m_cu"></a>
Create / Update Setting's Value
// Single
$page->setSetting('status', true);
// Multi
$page->setSettings([
'website_url' => 'https://raggitech.com',
'facebook_url' => 'https://www.facebook.com/RaggiTech',
'twitter_url' => 'https://www.twitter.com/RaggiTech',
'instagram_url' => 'https://www.instagram.com/raggitech',
]);
<a name="m_get"></a>
Retrieve Value & All
// Single
$setting = $page->setting('website_url');
// All
$settings = $page->settings;
<a name="gs_dc"></a>
Delete & Clear
// Delete/Remove
$page->removeSetting('instagram_url');
// Clear
$page->clearSettings();// Clearing page's settings
<a name="scopes"></a>
Scopes
// Get every element has no Settings.
$p1 = Page::withoutSettings()->get();
// Get every element has setting (status).
$p2 = Page::withSettings('status')->get();
// Get every element has setting (status == true).
$p3 = Page::withSettingsValue('status', true)->get();
// Get every element has [facebook or twitter or all] settings.
$p4 = Page::withAnySettings(['facebook', 'twitter'])->get();
License
MIT license |