Dynamically create configuration items for your resources.
Laravel Nova.
First install the Nova package via composer:
composer require ofcold/nova-configurations-fieldPublish the config file:
php artisan vendor:publish --provider="Ofcold\\Configurations\\FieldServiceProvider"Then run the migration
php artisan migrateAdd configuration item cache key in your .env File
OFCOLD_CONFIGURATION_KEY=configConfigure different resources
use Ofcold\Configurations\Configurations;
/**
* Get the fields displayed by the resource.
*
* @param \Illuminate\Http\Request $request
* @return array
*/
public function fields(Request $request)
{
return [
ID::make()->sortable(),
Configurations::make('Configurations')
->setConfigurations([
Text::make('foo'),
Text::make('bar')
], 'example')
];
}Get configuration item from scope
use Ofcold\Configurations\Repository;
Repository::scopeItems($scope)Get a single configuration
use Ofcold\Configurations\Repository;
// Use scope and key
// Example: example::foo
Repository::get('example::foo')Get a single configuration value
use Ofcold\Configurations\Repository;
// Use scope and key
// Example: example::foo
Repository::getValue('example::foo')