News

Laravel Model Settings

Published
Laravel Model Settings image

Laravel Model Settings is a package by Lorand Gombos to provide model settings configuration in a database field or a separate database table.

The package ships with two traits—settings in a field or table—that you can configure in a given model (one or the other, not both). First, the settings field is a JSON field:

// Settings field
 
use Glorand\Model\Settings\Traits\HasSettingsField;
 
class User extends Model
{
use HasSettingsField;
 
//define only if you select a dirrerent name from the default
public $settingsFieldName = 'user_settings';
 
}

And a separate settings table option:

use Glorand\Model\Settings\Traits\HasSettingsTable;
 
class User extends Model
{
use HasSettingsTable;
}

Here’s some basic usage examples in a model:

// Get all settings
$user->settings()->all();
 
// Get a specific setting
$user->settings()->get('some.setting');
$user->settings()->get('some.setting', 'default value');
 
// Add/Update
$user->settings()->apply((array)$settings);
$user->settings()->set('some.setting', 'new value');
$user->settings()->update('some.setting', 'new value');
 
// Remove
$user->settings()->delete('some.setting');

You can learn more about this package, get full installation instructions, and view the source code on GitHub at glorand/laravel-model-settings.

Paul Redmond photo

Staff writer at Laravel News. Full stack web developer and author.

Filed in

Sponsored

acquaintsoft logo
Acquaint Softtech

Hire Laravel developers with AI expertise at $20/hr. Get started in 48 hours.

Visit Acquaint Softtech

The latest

View all →
Volker Dusch on the PHP RCE Vulnerabilities and Disclosure image

Volker Dusch on the PHP RCE Vulnerabilities and Disclosure

Read article
Decide with Jev: Turn AI Answers into Decisions with PHP Rules image

Decide with Jev: Turn AI Answers into Decisions with PHP Rules

Read article
Skuul: Open-Source School Management Built on Laravel image

Skuul: Open-Source School Management Built on Laravel

Read article
Laravel Read Replicas: Prevent Stale Reads After a Write image

Laravel Read Replicas: Prevent Stale Reads After a Write

Read article
Screenshot: Capture Images and PDFs with PHP and Laravel image

Screenshot: Capture Images and PDFs with PHP and Laravel

Read article
Reset Sticky Database Connections Between Laravel Queue Jobs image

Reset Sticky Database Connections Between Laravel Queue Jobs

Read article