099. 快速创建 enum 枚举类 —— bensampo/laravel-enum
快速创建 enum 枚举类 —— bensampo/laravel-enum
对于模型中的各种状态,类型等数据,需要提前进行定义,方便之后的逻辑判断。你可能会直接使用 mysql 的 enum 枚举字段,或者是在模型中定义 STATUS_PAID
这样的常量来定义各种状态,然后再定义一个 map 属性,给常量添加对应的描述。来举个例子。
测试代码
比如我们给用户增加一个状态字段,status。
app/User.php
const STATUS_PENDING = 0;
const STATUS_SUCCESS = 1;
const STATUS_FAILED = 2;
public static $map = [
self::STATUS_PENDING => '待验证',
self::STATUS_SUCCESS => '验证成功',
self::STATUS_FAILED => '验证失败',
];
类似下面的代码进行逻辑判断。
$ $user = User::first()->status;
$ $user->status = User::STATUS_SUCCESS;
$ $user->save();
$ User::$map[$user->status];