mindtwo / laravel-enumerable
3.1.0
2020-03-23 14:24 UTC
Requires
- php: ^7.2
- illuminate/database: 5.6.*|5.7.*|5.8.*|6.*|7.*
- illuminate/support: 5.6.*|5.7.*|5.8.*|6.*|7.*
- mindtwo/laravel-dynamic-model-mutators: ^3.1
- mindtwo/laravel-enum: ^2.1
Requires (Dev)
- illuminate/database: 7.*
- phpunit/phpunit: ^8.5
README
安装
您可以通过 composer 安装此包。
composer require mindtwo/laravel-enumerable
如何使用?
设置可枚举对象
此包基于 BenSampo/laravel-enum。请参阅其 文档 以设置您的可枚举对象。
准备 Eloquent 模型
使用此包有两种方式。最简单的方式是扩展此包中提供的 EnumerableModel。
namespace example; use mindtwo\LaravelEnumerable\Models\EnumerableModel class exampleModel extends EnumerableModel { }
如果您愿意,可以直接在模型中使用 Enumerable 特性。同时确保实现 EnumerableInterface 接口。
namespace example; use Illuminate\Database\Eloquent\Model; use mindtwo\LaravelEnumerable\Interfaces\EnumInterface; use mindtwo\LaravelEnumerable\Models\Traits\Enumerable; class exampleModel extends Model implements EnumInterface { use Enumerable; }
配置 Eloquent 模型
要配置可枚举属性,只需设置一个名为 'enums' 的数组属性。键包含属性名称。值设置为要用于该属性的枚举类名称。
namespace example; use mindtwo\LaravelEnumerable\Models\EnumerableModel class exampleModel extends EnumerableModel { public $enums = [ 'examle_attribute' => ExampleEnum::class ]; }
重要:从版本 1.1.0 开始,$enums 属性必须声明为 public!
现在您可以使用 Laravel 的常规属性设置和填充函数来设置属性值。如果值在给定的枚举对象中未配置,则会抛出 InvalidEnumValueException。
更新日志
请参阅 更新日志 以获取有关最近更改的更多信息。
贡献
请参阅 贡献指南 以获取详细信息。
安全
如果您发现任何与安全相关的问题,请通过电子邮件 info@mindtwo.de 联系,而不是使用问题跟踪器。
致谢
许可
MIT 许可证 (MIT)。有关更多信息,请参阅 许可文件。