fastadmin中使用tinyint替代枚举类型的实践

枚举类型在数据库中确实是有点鸡肋,对于状态值可能发生变化的情况下尤其是麻烦,所有fastadmin中很多时候使用tinyint来替代枚举类型是非常方便的

但是tinyint值有一个缺点,就是不够直观,不能直接通过数字知道背后代表的含义,这个时候就用到了thinkphp中model的追加属性了,
类如

 // 追加属性protected $append = ['status_text'];
public function getStatusTextAttr($value, $data)
{$status = [0 => '禁用', 1 => '正常'];return isset($status[$value]) ? $status[$value] : '未知';
}

这样查询的时候就会带上说明,方便前端进行显示和判断,解决了不够直观的问题.平时开发过程中建议使用
在common模块的model里面添加对应的追加属性即可

另外,建议增加一个service文件夹,来处理一部分逻辑,减轻controller的压力,从而使得controller逻辑简单明了易于阅读

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/30946.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

鸿蒙Harmony实战—通过登录Demo了解ArkTS

ArkTS是HarmonyOS优选的主力应用开发语言。ArkTS围绕应用开发在TypeScript(简称TS)生态基础上做了进一步扩展,继承了TS的所有特性,是TS的超集。 ArkTS在TS的基础上主要扩展了如下能力: 基本语法:ArkTS定义…

最新版Cisco Packet Tracer思科模拟器Windows版本64位下载

Cisco Packet Tracer是思科公司推出的一款网络仿真工具,主要用于网络教学、培训和实验。它提供了一个真实的网络环境模拟平台,让用户可以设计、构建和调试网络,以及进行实时互动,从而帮助用户理解和实践网络技术。 通过 Cisco Pa…

Unity和UE免费领恐怖书本头怪兽角色模型恐怖或奇幻游戏monster适合FPS类型PBR202406202143

Unity和UE免费领恐怖书本头怪兽角色模型恐怖或奇幻游戏monster适合FPS类型PBR202406202143 Unity恐怖书本头怪兽角色模型:https://prf.hn/l/zpBqgVl UE恐怖书本头怪兽角色模型:https://prf.hn/l/4PzY1Qy 作者其他资产:https://prf.hn/l/0…

Fastjson漏洞之CVE-2022-25845

前言: 针对Fastjson之前已经介绍了,这里就不再重复了,漏洞CVE-2017-18349只能用来攻击>1.2.24版本的,CVE-2022-25845属于CVE-2017-18349的升级版,但是目前仅影响到1.2.83以下版本。CVE-2022-25845本质上是绕过了名…

SpringBoot | 实现邮件发送

运行环境: IntelliJ IDEA 2022.2.5 (Ultimate Edition) (注意:idea必须在2021版本以上)JDK17 项目目录: 该项目分为pojo,service,controller,utils四个部分, 在pojo层里面写实体内容(发邮件需要的发件人邮…

【etcd】etcd单机安装及简单操作

https://blog.csdn.net/Mr_XiMu/article/details/125026635 https://blog.csdn.net/m0_73192864/article/details/136509244 etcd在生产环境中一般为集群方式部署 etcd使用的2个默认端口号:2379和2380 2379:用于客户端通信(类似于sqlserver的1433&#x…

vscode卡顿问题处理(vue-official插件)

vue官方扩展由volar升级为vue-official,部分人的ide会变得非常卡顿,这是由于vscode本身一些问题导致,如下图作者解释: 解决方式: 通过禁用Hybrid模式,不使用tsserver来接管语言支持,卡顿会缓解…

CSS文本超限后使用省略号代替

方案一: 只显示一行,超限后使用省略号代替 .detail {overflow: hidden;text-overflow: ellipsis;white-space: nowrap; }方案二: 显示多行,到最后一行还没有显示完,则最后一行多出来的部分使用省略号代替。 .detai…

语音数据采集

语音数据采集是从音频源(如麦克风)捕获声音信号的过程,这些信号可以用于多种语音相关的应用,包括语音识别和语音处理。 语音识别是指将语音信号转换为文本或命令的过程,它通常涉及以下步骤: 语音信号捕获&…

Vulhub——Log4j、solr

文章目录 一、Log4j1.1 Apache Log4j2 lookup JNDI 注入漏洞(CVE-2021-44228)1.2 Apache Log4j Server 反序列化命令执行漏洞(CVE-2017-5645) 二、Solr2.1 Apache Solr 远程命令执行漏洞(CVE-2017-12629)2.…

[AIGC]Guava中Table、HashBasedTable和TreeBasedTable的详解

Google的Guava库在Java集合框架中增加了许多新的集合类型,其中包括Table、HashBasedTable以及TreeBasedTable。这些建议设计成可以与JDK集合共存,提供了一些我们认为有广泛用途但JDK未提供的功能。 1. Table Guava的Table代表了一个包含行、列和相应单…

C++数据格式化5 - uint转换成十六进制字符串二进制的data打印成十六进制字符串

1. 关键词2. strfmt.h3. strfmt.cpp4. 测试代码5. 运行结果6. 源码地址 1. 关键词 关键字: C 数据格式化 字符串处理 std::string int hex 跨平台 应用场景: int 型的数据打印成十六进制字符串二进制的data打印成十六进制字符串。 2. strfmt.h #p…

异步任务使用场景与实践

异步任务使用场景 根据同步/异步方式划分场景,各场景下常用的技术方案如下: 方式实现特点缺点同步HTTP RPC Cache etc.指标:RT、QPS、TPS、缓存命中率 等; 关注(准)实时数据,用户可交互1. 处…

javascript--类型检测 type of 和 instanceof

类型判断 1、typeof2、instanceof**instanceof 的原理** 3、constructor 1、typeof typeof在检测null、object、array、data的结果中都是object&#xff0c;所以无法用来区分这几个类型的区别。 <script>let a ["123",123,false,true,Symbol(1),new Date(),n…

[负载均衡详解]

负载均衡技术: 一、负载均衡集群技术的实现: 负载均衡技术类型:基于 4 层负载均衡技术和基于 7 层负载均衡技术 负载均衡实现方式:硬件负载均衡设备或者软件负载均衡 硬件负载均衡产品:F5 、深信服 、Radware 软件负载均衡产品: LVS(Linux Virtual Server)、 Hapr…

【HiveSQL】join关联on和where的区别及效率对比

测试环境&#xff1a;hive on spark spark版本&#xff1a;3.3.1 一、执行时机二、对结果集的影响三、效率对比1.内连接1&#xff09;on2&#xff09;where 2.外连接1&#xff09;on2&#xff09;where 四、总结PS 一、执行时机 sql连接中&#xff0c;where属于过滤条件&#…

ubuntu18.04 安装HBA

HBA是一个激光点云层级式的全局优化的程序&#xff0c;他的论文题目是&#xff1a;HBA: A Globally Consistent and Efficient Large-Scale LiDAR Mapping Module&#xff0c;对应的github地址是&#xff1a;HKU-Mars-Lab GitHub 学习本博客&#xff0c;可以学到gtsam安装&am…

E/Rajawali: Shader log: ERROR: 0:6: ‘GL_OES_standard_derivatives‘ : extension

错误信息 E/Rajawali: Shader log: ERROR: 0:6: ‘GL_OES_standard_derivatives’ : extension 定位 该错误存在rajawali渲染引擎 v1.1.9701以及以上 目前具体涉及的版本 v1.1.9701v1.2.1970 解决方案 在FragmentShader最前面加一行 #extension GL_OES_standard_derivat…

系统凭据钓鱼揭秘

背景 在进行内网横向移动时&#xff0c;通常会尝试抓取目标机器上的登录哈希和密码。但是&#xff0c;这种方法并不总是可行&#xff0c;因为有些目标机器可能没有这些信息&#xff0c;或者这些信息已经被清除或加密。因此&#xff0c;黑客们开始模拟Windows系统环境中的身份认…

智慧学习实践系统的设计

管理员账户功能包括&#xff1a;系统首页&#xff0c;个人中心&#xff0c;企业管理&#xff0c;任务管理&#xff0c;公告管理&#xff0c;菜单管理&#xff0c;用户管理&#xff0c;基础数据管理 企业账户功能包括&#xff1a;系统首页&#xff0c;个人中心&#xff0c;任务…