glorand/laravel-model-settings
Add per-model settings to Laravel Eloquent with an easy API to get/set/check/remove values. Choose storage via JSON field, separate settings table, or Redis. Supports defaults, validation, and persistence for user or entity preferences.
V9 is a major refactor that unifies the storage backends into a single, configuration-driven system. This release simplifies the API surface, reduces boilerplate, and provides better extensibility for custom drivers.
🔄 Breaking Changes Migration Required — see MIGRATION_GUIDE_8_to_9.md
Removed HasSettingsField, HasSettingsTable, HasSettingsRedis traits Removed flat settings_* config keys (env vars unchanged) Requires PHP 8.2+ and Laravel 12–13 (dropped 10/11, PHP 8.1) Mutations (set, update, delete, etc.) now persist only overrides; defaults are no longer copied into storage Validation runs against the effective (merged) result, not just persisted data table and redis drivers throw ModelSettingsException when model has no primary key Redis driver deletes the storage key on clear() instead of storing empty array
Full Changelog: https://github.com/glorand/laravel-model-settings/compare/8.0.3...8.0.4
@jamesdb made their first contribution in https://github.com/glorand/laravel-model-settings/pull/128
Full Changelog: https://github.com/glorand/laravel-model-settings/compare/8.0.0...8.0.1
Full Changelog: https://github.com/glorand/laravel-model-settings/compare/7.0.0...8.0.0
Full Changelog: https://github.com/glorand/laravel-model-settings/compare/6.0.3...7.0.0
Laravel 10 support, and dropped Laravel 9.
Full Changelog: https://github.com/glorand/laravel-model-settings/compare/4.4.1...5.0.0
fix: Parameter type
FIX: HasSettingsField now adheres to $connection override on model
default configs for a table in model_settings.php config file
GitHub actions
Console test && empty function (#54)
Check settings (exist) (#53)
Fix #50
Add support for Laravel 7 (#49)
How can I help you explore Laravel packages today?