ThinkSSL🔒 一键申购 5分钟快速签发 30天无理由退款 购买更放心 广告
## 测试表结构定义如下 ~~~sql CREATE TABLE `pre_admin` ( `id` int(10) UNSIGNED NOT NULL PRIMARY AUTO_INCREMENT COMMENT 'ID', `username` varchar(20) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '{"label":"用户名","searchType":"LIKE"}', `nickname` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '昵称', `password` varchar(32) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '密码', `salt` varchar(30) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '密码盐', `avatar` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '头像', `email` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '电子邮箱', `loginfailure` tinyint(1) UNSIGNED NOT NULL DEFAULT '0' COMMENT '失败次数', `logintime` int(10) DEFAULT NULL COMMENT '登录时间', `loginip` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '登录IP', `createtime` int(10) DEFAULT NULL COMMENT '{"label":"创建时间","viewProperties":{"prop":"createTime"},"viewType":"dateTime"}', `updatetime` int(10) DEFAULT NULL COMMENT '更新时间', `token` varchar(59) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT 'Session标识', `status` varchar(30) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'normal' COMMENT '{"label":"用户状态","searchType":"LIKE","viewType":"enum","viewOptions":{"normal":{"text":"正常","style":"success"},"hidden":{"text":"禁用","style":"danger"}}}' ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='管理员表'; ~~~ Swoft CRUD采取列定义+注释的方式来决策前端文件中使用何种UI元素.由于mysql列的默认类型为varchar(1024),因此注释长度需要控制在1024字节以内.但一般来说是够用了. 注释采用JSON格式与Swoft CRUD进行数据交互,如果注释不是一个合法的JSON字符串,那么整个注释内容将会被当作label属性的值,举例: ``` //当注释内容为 用户名 //则与下面写法等效 {"label":"用户名"} ```