php ucwords,nickfan

migration的enum类型有一种workaround方法解决:

在你的Migration的类文件中初始化时将此类型注册为string

public function __construct()

{

DB::getDoctrineSchemaManager()->getDatabasePlatform()->registerDoctrineTypeMapping('enum', 'string');

}

的方式解决。

虽然个人觉得还是用tinyint的类型替代会更好,数字的取值含义,我一般建议在column的comment注释中分别说明:

order_status ->comment='单据状态#0:draft/1:submit/2:approved';

其中数字后面的是这个值的代码中的字面标识量,取值的含义比如draft草稿,submit提交,approved审核通过的多语言翻译可以在i18n中定义,

而相关的使用可以在Model/Repository中定义

const INDEX_ORDER_STATUS_DRAFT = 0;

const INDEX_ORDER_STATUS_SUBMIT = 1;

const INDEX_ORDER_STATUS_APPROVED = 2;

const LABEL_ORDER_STATUS_DRAFT = 'draft';

const LABEL_ORDER_STATUS_SUBMIT = 'submit';

const LABEL_ORDER_STATUS_APPROVED = 'approved';

// 用于根据index数字查找字面标识>显示输出翻译

protected static $indexLabelMapOrderStatus = [

self::INDEX_ORDER_STATUS_DRAFT=>self::LABEL_ORDER_STATUS_DRAFT,

self::INDEX_ORDER_STATUS_SUBMIT=>self::LABEL_ORDER_STATUS_SUBMIT,

self::INDEX_ORDER_STATUS_APPROVED=>self::LABEL_ORDER_STATUS_APPROVED,

];

上面的这段代码中【字段名】-【字段字面标识】-【枚举取值】的相关const定义和字典定义其实都可以通过数据库结构定义信息自动代码生成

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值