当前位置: 首页 > news >正文

Laravel 中 使用模型作为标志

我最近一直在尝试的一件事是使用模型作为标志,并取得了积极的成果。当你需要以某种方式标记你的一个模型时,你可以在表中添加一个布尔值来指示某种状态。例如,假设你向应用程序添加了一个停用用户的功能。你可以使用如下迁移来更改用户表:

Schema::table('users', function (Blueprint $table) {
    $table->boolean('is_deactivated')->default(false);
});

太棒了!现在,您可以更新is_deactivated数据库中的列,并 $user->is_deactivated在需要处理用户停用状态时检查代码。这是我刚开始时使用的模式,对于很多用例来说,这非常有效。

使用时间戳作为标志
然而,几年前,我在 Twitter 上看到一条帖子(遗憾的是我记不清是谁写的了,抱歉!)建议我们使用时间戳,而不是布尔标志:

Schema::table('users', function (Blueprint $table) {
    $table->timestamp('deactivated_at')->nullable();
});

这还有一个额外的好处,就是可以让你看到用户何时被停用,而不需要太多的权衡(除了数据库存储的几个额外字节)。在应用此模式时,我倾向于isDeactivated在我的模型上添加一个方法,以确保代码仍然读起来很好。

public function

相关文章:

  • 多路h265监控录放开发-(1)建立head窗口并实现鼠标拖动整个窗口
  • 聊聊系统架构之负载均衡优化实践
  • 【调试笔记-20240618-Windows-pnpm 更新出现 Cannot find module 问题的解决方法】
  • ​【数据结构与算法】冒泡排序:简单易懂的排序算法解析
  • 如何学习C语言
  • Excel 常用技巧(四)
  • Eureka 学习笔记(1)
  • 亿达中国武汉园区入选“武汉市科技金融工作站”及“武汉市线下首贷服务站”
  • 【JavaScript脚本宇宙】玩转图像处理:从基础到高级,这些库你不能错过!
  • 今年的618,似乎很平淡!
  • 计算机网络:运输层 - 概述
  • 【调试笔记-20240611-Linux-配置 OpenWrt-23.05 支持泛域名 acme 更新】
  • 如何编辑和修改ROM,快速上手
  • mysql安装配置教程(Linux+Windows)
  • 工具清单 - Bug追踪管理
  • android图片蒙层
  • Angular4 模板式表单用法以及验证
  • Druid 在有赞的实践
  • java8 Stream Pipelines 浅析
  • Js实现点击查看全文(类似今日头条、知乎日报效果)
  • Node.js 新计划:使用 V8 snapshot 将启动速度提升 8 倍
  • PHP的类修饰符与访问修饰符
  • Promise初体验
  • RxJS: 简单入门
  • Spring Boot快速入门(一):Hello Spring Boot
  • Vue UI框架库开发介绍
  • Vue2.0 实现互斥
  • 大主子表关联的性能优化方法
  • 翻译 | 老司机带你秒懂内存管理 - 第一部(共三部)
  • 关于springcloud Gateway中的限流
  • 面试遇到的一些题
  • 前端学习笔记之观察者模式
  • 前端知识点整理(待续)
  • 消息队列系列二(IOT中消息队列的应用)
  • 回归生活:清理微信公众号
  • 基于django的视频点播网站开发-step3-注册登录功能 ...
  • #pragma multi_compile #pragma shader_feature
  • (4)通过调用hadoop的java api实现本地文件上传到hadoop文件系统上
  • (附源码)ssm旅游企业财务管理系统 毕业设计 102100
  • (接口自动化)Python3操作MySQL数据库
  • (四十一)大数据实战——spark的yarn模式生产环境部署
  • (学习日记)2024.04.04:UCOSIII第三十二节:计数信号量实验
  • (转) 深度模型优化性能 调参
  • (转)程序员技术练级攻略
  • (转)为C# Windows服务添加安装程序
  • .net core 6 集成 elasticsearch 并 使用分词器
  • .Net mvc总结
  • .NET技术成长路线架构图
  • @ConfigurationProperties注解对数据的自动封装
  • [<事务专题>]
  • [120_移动开发Android]008_android开发之Pull操作xml文件
  • [2024] 十大免费电脑数据恢复软件——轻松恢复电脑上已删除文件
  • [4.9福建四校联考]
  • [BZOJ 2142]礼物(扩展Lucas定理)
  • [C++] sqlite3_get_table 的使用