Laravel package that introduces a new Artisan command to generate Enum classes fetched from database.
- PHP 7.0 or higher
- Laravel 5.6 or higher
Via Composer
$ composer require dobron/laravel-db-enum-generator --dev
Enums can be generated by calling the Artisan command make:enum
and specifying the class or table name, and columns for key and value(s).
Id | Slug | Role |
---|---|---|
1 | MANAGER | Admin |
2 | CONTENT_CREATOR | Editor |
3 | MODERATOR | Moderator |
4 | ADVERTISER | Advertiser |
5 | INSIGHTS_ANALYST | Analyst |
$ php artisan make:enum App\Enums\UserRoleTypes --model=UserRole --id=Id --slug=Slug --title=Role
<?php
namespace App\Enums;
class UserRoleTypes
{
public const MANAGER = 1;
public const CONTENT_CREATOR = 2;
public const MODERATOR = 3;
public const ADVERTISER = 4;
public const INSIGHTS_ANALYST = 5;
public static function map(): array
{
return [
static::MANAGER => 'Admin',
static::CONTENT_CREATOR => 'Editor',
static::MODERATOR => 'Moderator',
static::ADVERTISER => 'Advertiser',
static::INSIGHTS_ANALYST => 'Analyst',
];
}
}
Option | Description | Default |
---|---|---|
model | Eloquent model class name | |
table | (or) The database table name | |
path | The path to generate enums in | |
id | ID column name | id |
slug | Slug column name | slug |
value | Column(s) name for map separated by comma | |
force | Create the class even if the enum already exists | false |
Please see CHANGELOG for more information on what has changed recently.
$ composer test
Please see CONTRIBUTING for details.
The MIT License (MIT). Please see License File for more information.