前言
1、fastadmin框架中新增数据库表enum类型字段
2、添加字段后前后端的显示处理
添加enum类型字段
在navicat中选择要添加的数据库表,右键选择<设计表>,<添加栏位>添加相应字段(本文字段名freeze)
对应的***SQL语句***为:
CREATE TABLE `fa_notetest` (
`id` int(255) NOT NULL AUTO_INCREMENT COMMENT '编号',
`name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '名字',
`note` int(255) DEFAULT NULL COMMENT '会员登记簿',
`freeeze` enum('0','1') CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '0' COMMENT '冻结值:0=冻结,1=解冻',
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=2 DEFAULT CHARSET=utf8;
前后端处理
1. 模型添加
在model中追加属性、getTextAttr方法、getList 方法
// 追加属性
protected $append = [
'freeze_text',
];
public function getFreezeList()
{
return ['0' => __('freeze 0'), '1' => __('freeze 1')];
}
public function getFreezeTextAttr($value, $data)
{
$value = $value ? $value : (isset($data['freeze']) ? $data['freeze'] : '');
$list = $this->getFreezeList();
return isset($list[$value]) ? $list[$value] : '';
}
2. 语言包添加
在对应的语言包中添加
'freeze' => '冻结值',
'freeze 0' => '冻结',
'freeze 1' => '解冻',
3. js添加
在对应的js文件中添加
{field: 'freeze', title: __('freeze'), searchList: {"0":__('freeze 0'),"1":__('freeze 1')}, formatter: Table.api.formatter.normal},
正常显示
END