hmayer/enum-field
最新稳定版本:v1.0.1
Composer 安装命令:
composer require hmayer/enum-field
包简介
A Laravel Nova field for PHP Enum classes.
README 文档
README
Nova field for enum in PHP 8.1 and above.
I try to keep the same suleymanozev/enum-field interface, but with some additions to my personal needs.
Installation
You can install this package in a Laravel app that uses Nova via composer:
composer require hmayer/enum-field
Setup
use App\Enums\UserType; use Illuminate\Database\Eloquent\Model; class Example extends Model { protected $casts = [ 'user_type' => UserType::class, ]; }
Usage
You can use the Enum field in your Nova resource like this:
namespace App\Nova; use App\Enums\UserType; use Hmayer\EnumField\Enum; class Example extends Resource { // ... public function fields(Request $request) { return [ // ... Enum::make('User Type')->attach(UserType::class), // ... ]; } }
Filters
If you would like to use the provided Nova Select filter (which is compatible with both the Enum and FlaggedEnum fields), you can include it like this:
namespace App\Nova; use App\Enums\UserPermissions; use App\Enums\UserType; use Hmayer\EnumField\EnumFilter; class Example extends Resource { // ... public function filters(Request $request) { return [ EnumFilter::make(__('User Type'), 'user_type', UserType::class), // With optional default value: EnumFilter::make(__('User Type'), 'user_type', UserType::class, UserType::Administrator), ]; } }
Alternatively, you may wish to use the provided Nova Boolean filter (which is also compatible with both the Enum and FlaggedEnum fields):
namespace App\Nova; use App\Enums\UserPermissions; use App\Enums\UserType; use Hmayer\EnumField\EnumBooleanFilter; class Example extends Resource { // ... public function filters(Request $request) { return [ EnumBooleanFilter::make(__('User Type'), 'user_type', UserType::class), // With optional default values: EnumBooleanFilter::make(__('User Type'), 'user_type', UserType::class, [ UserType::Administrator, UserType::Moderator, ]), ]; } }
Credits
Thanks
License
The MIT License (MIT). Please see License File for more information.
统计信息
- 总下载量: 8
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 0
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2023-03-28