Laravel Nova field to add enums to resources. This field uses the BenSampo/laravel-enum package, so make sure to check out the installation instructions there first.
You can install this package in a Laravel app that uses Nova via composer:
composer require simplesquid/nova-enum-field
This package requires that you use Attribute Casting in your models. From the docs at BenSampo/laravel-enum, this can be done like so:
use BenSampo\Enum\Tests\Enums\UserType;
use Illuminate\Database\Eloquent\Model;
class Example extends Model
{
protected $casts = [
'user_type' => UserType::class,
];
}
You can use the Enum
field in your Nova resource like so:
namespace App\Nova;
use App\Enums\UserRole;
use SimpleSquid\Nova\Fields\Enum\Enum;
class User extends Resource
{
// ...
public function fields(Request $request)
{
return [
// ...
Enum::make('Role')->attachEnum(UserRole::class),
// ...
];
}
}
composer test
Please see CHANGELOG for more information on what has changed recently.
Please see CONTRIBUTING for details.
If you discover any security related issues, please email security@simplesquid.co.za instead of using the issue tracker.
Package skeleton based on spatie/skeleton-php.
SimpleSquid is a small web development and design company based in Cape Town, South Africa.
The MIT License (MIT). Please see License File for more information.