系统开发过程中会出现好多状态类的字段,如:订单分为订单状态,发货状态,支付状态。数据库存放肯定是 0,1,2,3,4 这样来存,为了方便使用会在 Repository 或者 Model 里定义部分常量,如下:
const ORDER_STATUS_CREATE = 0;//初始状态
const ORDER_STATUS_PAIED = 1;//已支付状态
问题来了:
- 在页面上会用到这个枚举,如搜索的时候的状态下拉列表,因为系统涉及到多语言,所以这个存在哪儿比较纠结,存在 config 里那在 Repository 里还在有方法做翻译处理。如:
public static function getStatusMap()
{
return [
self::ORDER_STATUS_CREATE => trans('xxxx'),
self::ORDER_STATUS_PAIED => trans('xxxx')
];
}
//用以上方法来写,总感觉设计上不妥当,但是不没想到更好的办法
- 另外在视图上可能有些状态的验证,视图中直接调用这个 const 总感觉不是很妥当,但是如果通过控制器中绑定给视图又太麻烦。