模型时间戳+软删除

deleteontime(定时删除文件软件)v1.01中文绿色免费版 delete on time软件是一款可定时删除指定文件、文件夹的工具,就算是来自共享文件夹的文件,FTP磁盘都可以,支持拖拽选择路径,创建删除条件和删除方式,以及保存天数和定时删除时间点,点开始即可。需要此款工具的朋友们可以前来下载使用。 立即下载

开启自动时间戳的话, 需要在 database.php 下开启配置

// 自动写入时间戳字段
'auto_timestamp'  => true,

默认的字段名为

增加时间 create_time

更新时间 update_time

开启之后, 我们新增一条数据的话, 就会自动给我们加上时间戳, 但问题也来了. 有的表没有这2个字段, 所以,不建议开启全局的配置.

我们将 'auto_timestamp' 修改为 false. 

关闭之后, 我们来到我们需要开启自动时间戳的模型类, 加上如下 

protected $autoWriteTimestamp = true;
class User extends Model
{
    protected $autoWriteTimestamp = true;
    
    public function setPasswordAttr($val)
    {
        return md5($val);
    }

}

1. 现在有一个问题, 如果我们的数据库的 添加时间和更新时间的字段 不是默认的, 那该如何操作呢?  

例如我们现在的2个字段是 create_at, update_at, 我们需要在 模型类中, 声明这2个变量, 让系统知道.

//重新声明2个字段名
protected $createTime = 'create_at';
protected $updateTime = 'update_at';

2. 如果现在我们只需要更新时间, 不需要创建时间, 我们只需要关闭即可. 如下

//重新声明2个字段名
protected $createTime = false;
protected $updateTime = 'update_at';

数据软删除

想实现数据软删除的话, 我们需要在表中加入一个字段 delete_time(默认), int类型, 为null, 且默认值就是NULL, 无符号.

意义是: 如果为null, 表明这条数据没有被删除, 如果不为null, 则表示这条数据在 该时间戳 被删除.

1. 使用的话, 现在model类中, 引入 

use traits\model\SoftDelete;

2. 在类中 声明下

class User extends Model
{
    use SoftDelete;
}

3. 此时在 控制器中, 删除主键为1的记录.

$res = User::destroy(1);

此时, 我们获取下 主键为1 的这条记录,如下, 返回 null, 查找不到这条数据.

$res = User::get(1);
dump($res);

4. 如果想获取到 主键为1的这条数据, 用如下方法

$res = User::withTrashed(true)->find(1);
//获取原始数据
dump($res->getData());

5. 如何获取所有被软删除的数据, 如下

//获取所有软删除的数据
$res = User::onlyTrashed()->select();

foreach ($res as $val) {
    dump($val->getData());
}

6. 如何修改 delete_time 这个默认字段, 例如我们表中的是 delete_at , 代码如下, 需要在model中声明一下 deleteTime

class User extends Model
{
    use SoftDelete;

    protected $deleteTime = 'delete_at';
}

7. 如上, 我们在 User模型中,定义了 软删除, 那如何真正的删除某个数据呢? 在后面加上一个true值.

$res = User::destroy(3, true);

delete方法如下, 也是在 delete 中加入true.

$user = User::get(4);
$res  = $user->delete(true);

 

【UNet 改进 | 注意机制篇】UNet引入CA注意力机制(2021 CVPR),二次创新 在医学图像分割任务中,病灶区域往往形态各异、边界模糊,且经常与周围组织的对比度较低,这要求模型具备极强的特征提取和细节辨别能力。传统的U-Net网络虽然通过跳跃连接融合了多尺度特征,但在处理复杂语义和精细边缘时仍有不足,尤其是在捕获特征时常常忽略位置信息。为了解决这些痛点,本文引入了在计算机视觉领域表现出色的 CA(Coordinate Attention,协调注意力)机制。CA 巧妙地将位置信息嵌入到了通道注意力中,通过水平和垂直两个方向的一维池化,同时捕获长距离依赖和精确的位置坐标。 阅读详情

相关推荐

谷粒商城 - 个人笔记(集群部署篇一)

电商后台管理系统+电商系统,掌握微服务的全套方案。该系统有商品服务、仓储服务、订单服务、购物车服务、检索服务、认证中心服务、网关服务、用户服务、秒杀服务、第三方服务。使用SpringBoot+SpringCloud并配套SpringCloud Alibaba系列,引入全套微服务治理方案:Nacos注册中心/配置中心、Feign远程调用、Gateway网关、Redisson缓存、基于ElasticSearch7全文检索、异步编排与线程池、RabbitMQ柔性事务方案、Redisson分布式锁、分布式信号量等。

知行 4004

软删除和时间戳

一、时间戳 1、系统支持自动写入创建和更新的时间戳字段 1) 在配置文件中设置 // 自动写入时间戳字段 'auto_timestamp'  => true, 2) 在数据模型中设置 // 设置自动写入时间戳 protected $autoWriteTimestamp=true; 2、可以设置字段默认值 // 增加时间的字段 protected $createTim...

Shaoyanlun的博客 1653

避开SM30维护视图的坑:自动更新字段+日志记录的5个关键配置步骤

本文深入解析了SAP ABAP开发中SM30维护视图的深度定制,聚焦于实现自动更新字段与日志记录功能。文章详细阐述了从SE54配置起点到核心编码的5个关键步骤,重点讲解了如何利用事件驱动模型(如05创建事件和01保存前事件)安全操作动态数据结构,并提供了避免常见陷阱的实用技巧,帮助开发者构建稳定可靠的自动化维护机制。

plant的博客 622

别再物理删除了!“假装删除”才是高可用系统的生存之道

永远不删数据”不仅仅是一种技术手段,更是一种数据资产观。软删除给了用户和管理员一颗“后悔药”。归档给了数据库一个“瘦身计划”。只有组合使用这两者,你的系统才能在保留历史记忆的同时,依然身轻如燕。

郑龙飞 902

ANSYS接触分析实战:从法兰连接案例看接触刚度与穿透容差的黄金搭配

本文以法兰连接为实战案例,深入解析了ANSYS接触分析中接触刚度(FKN)与穿透容差(FTOLN)的参数设置策略。通过系统性敏感性分析,揭示了这对关键参数的博弈关系与调优逻辑,旨在帮助工程师在保证计算收敛的同时,获得高精度的有限元分析结果,有效解决工程中的非线性接触难题。

moon9的博客 312

HCIA-Storage 存储工程师学习笔记——1. 存储技术趋势

文章目录1. 存储技术趋势1.1 数据、信息与数据存储1.2 存储技术的发展①存储架构的发展②存储介质的发展③ 接口协议的发展1.3 存储产品的发展趋势 华为HCIA-Storage认证地址:https://e.huawei.com/cn/talent/#/cert/roadmap 1. 存储技术趋势 1.1 数据、信息与数据存储 什么是数据? ​ 数据是对所有事物的数字表示。 数据的种类? 结构化数据 半结构化数据 非结构化数据 数据的处理周期 ​ 数据处理是人或机器对数据进行的重组或重新排序,

超级大洋葱的博客 2846

关于ThinkPHP5.0*的软删除delete_time的引用和部分时间函数where(),whereTime()连贯操作的问题

关于ThinkPHP5.0*的软删除和部分时间函数连贯操作的问题 1、使用软删除,可实现逻辑删除,有利于保护数据 使用软删除: 需要在model文件中 引入 use trait\SoftDelete; 代码如下: namespace app\member\model; use think\Model; use traits\model\SoftD

duringnone的博客 1万+

redhawk-sc使用简介

数据完整性对结果的准确性有很大影响,所以一定要保证数据完整性,Redhawk-sc在跑完后,Report里有Data Integrity界面,在这个界面会看到设计数据和库文件的数据完整性,在相应的报告中会有没有覆盖到的数据情况,要对每一项仔细检查,保证输入数据没有问题。文件一般加密,用户唯一需要选择的是文件的corner。其中,cell lef除了常规的standard cell,还有如DTCD,BTSV和clamp等cell的lef,不可缺失,否则data integrity将不是100%。

weixin_48518726的博客 3137

MyBaitsPlus逻辑删除时,自动添加删除时间

自定义 SQL 注入器失效,可能是因为使用自定义SqlSessionFactory,不会初始化刚开始自定义的 SQL 注入器了,

hcd1129的博客 1340

ModuleNotFoundError: No module named‘langchain.schema.output parserlangchain.schema is not a package

电脑里现有的langchain库版本与import所需的不同,卸载原有langchain,重新下载最新的langchain。在步骤1后,若仍不可运行。在确保已重新下载新langchain后,重启python后,可正常运行。在版本号中填入所需的langchain版本号,可在requirements.txt查看。运行如下代码时,出现error。

weixin_45751925的博客 1713

独家改进|基于YOLO26的轻量级检测网络:参数量减半,精度不降反升

不要全层替换深度可分离卷积:P5深层对语义特征要求高,用标准卷积效果更好,只在P2、P3浅层用DWConv性价比最高注意力不是越多越好:每个阶段加一个就够,加在模块输出端,不要插在模块中间,否则部署容易出现算子不兼容问题轻量模型训练别贪快:初始学习率一定要调低,不然很容易前期震荡,后期收敛不上,精度卡在瓶颈小目标场景优先保留P2分支:如果对速度要求不是极致,保留P2检测头,小目标收益远大于速度损失。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 221

数据库软删除php,ThinkPHP_5的模型时间戳和软删除

【模型时间戳】应用配置文件【不过一般不这样用】// 自动写入时间戳字段‘auto_timestamp‘ => true,【控制器块】namespace app\index\controller;use think\Controller;use app\index\model\App;class Index extends Controller{public function index()...

weixin_29251131的博客 195

单板电源设计(LDO、DC/DC)

高速电路设计的电源架构 在电路设计中,一块单板往往涉及多种电源,常见的如5V/3.3V/2.5V/1.8V/1.5V/1.2V/1V0.9V/0.75V等,如此多种类的电源不可能都直接通过背板从电源板获得。一般,单板仅有一种或者两种输入电源,如48V或12V,再由它们产生单板上器件所需要的电源。 单板如何由输入电源生成所需电源,常见有两种架构:集中式电源架构和分布式电源架构。 ...

sinat_15677011的博客 8330

PHP 软删除,thinkphp自动完成、软删除 和时间戳

thinkphp自动完成、软删除 和时间戳一、总结自动完成:没有手动赋值的情况下进行手动处理软删除:实现假删除,可以进行恢复时间戳:系统支持自动写入创建和更新的时间戳字段二、thinkphp自动完成、软删除 和时间戳1、自动完成1、修改器和自动完成区别修改器:数据赋值的时候自动进行转换处理自动完成:没有手动赋值的情况下进行手动处理2、自动完成// 增加和修改操作都会执行protected $aut...

weixin_42358173的博客 447

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

thinkphp6软删除注意事项

一般都是新建一个 base模型 use think\Model; use think\model\concern\SoftDelete; class Base extends Model { //软删除 use SoftDelete; protected $deleteTime = 'delete_time'; //隐藏的字段 protected $hidden = ['password']; } 然后其余模型都继承它,就会默认开启软删除 在个别不需要软

寂寥人生 1285

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

【Laravel笔记】6. 模型的增删改查

本文主要内容: 6.1 创建模型 6.2 默认设置 6.3 模型基本使用(查) 6.4 模型的增删改 6.4.1 新增 6.4.2 更新 6.4.3 删除 6.5 模型的批量赋值 6.6 模型的软删除(逻辑删除) 6.6.1 使用软删除 6.6.2 查询软删除的数据 6.6.3 恢复软删除的数据 6.6.4 软删除后的永久删除

拾年之璐 8236

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

php Model类 删除方法,TP5框架model常见操作示例小结【增删改查、聚合、时间戳、软删除等】...

本文实例讲述了TP5框架model常见操作。分享给大家供大家参考,具体如下:使用model 查询数据,添加数据,修改数据,删除数据聚合操作获取器,修改器自动添加时间戳(创建时间,修改时间)软删除1、使用model查询数据$res = User::get(1); //获取主键为1的数据,得到的是一个对象$res = $res->toArray(); //将对象转化为数组dump($res-&g...

weixin_35990581的博客 315

thinkphp自动完成、软删除 和时间戳

thinkphp自动完成、软删除 和时间戳 一、总结 自动完成:没有手动赋值的情况下进行手动处理 软删除:实现假删除,可以进行恢复 时间戳:系统支持自动写入创建和更新的时间戳字段 二、thinkphp自动完成、软删除 和时间戳 1、自动完成 1、修改器和自动完成区别 修改器:数据赋值的时候自动进行转换处理 ...

weixin_34178244的博客 207

《TP5.0学习笔记---模型篇(三)》

一、模型修改器+自动完成 将这两个放在一起学习,是因为这两个有很多的相似之处,下边看一下修改器控制器Index.php public function index() { //首先我们向数据库中添加一条数据 $res = User::create([ 'username' => 'liangyu', 'pass

self_realian的博客 1616

Thinkphp快速入门(四)

文章目录操作数据库配置连接信息模型创建模型相关属性说明模型表名模型主键设置模型自动写入时间软删除数据插入通过create 插入通过save方法保存数据更新通过save更新通过update更新通过静态update更新通过saveAll更新数据删除通过先查找到model对象后删除通过静态destroy删除通过where + delete 删除模型使用软删除的场景下进行物理删除 操作数据库 配置连接信息 config/database.php return [ // 默认使用的数据库连接配置

qq_29744347的博客 1142

Thinkphp5使用model模型操作数据库

thinkphp标准数据表设计: 创建时间字段:create_time更新时间字段:update_time删除时间字段:delete_time类型选int,如下图: 一、创建model的文件夹 在application文件夹下的二级对象目录中新建名为model的文件夹,该文件夹与对应的controller和view目录同级,如下图: 如果有多个模块(比如前台index,后台admin),操作的数据库都差不多,那么可以把model模型放到common公共模块里,如下: 二、创建model模型类 1、在mode

优秀技术文章收录 3127

TP5——Model

软删除引入 use traits\model\SoftDelete<?php namespace app\index\model; use think\Model; use traits\model\SoftDelete; class User extends Model { //导入软删除方法集 use SoftDelete; // 设置软删除字段,只有该字段为null时才显示 ...

emmm 941

PHP 软删除,Laravel 实现数据软删除功能

protected function performDeleteOnModel(){if ($this->forceDeleting) {$this->exists = false;return $this->newModelQuery()->where($this->getKeyName(), $this->getKey())->forceDelete(...

weixin_39634052的博客 278

thp6 第3天

1.全局开启2.为某个模型开启3.动态的实现不修改update_time;

farna_work的博客 265

TP5学习(七):模型

一、定义 定义一个User模型类: namespace app\index\model; use think\Model; class User extends Model { } 默认主键为自动识别,如果需要指定,可以设置属性: namespace app\index\model; use think\Model; class User extends Model { prot...

码农Robin的博客 3427

ThinkPHP之模型入门2.0

Model 在上面那篇博客中只是介绍了Model的架构 应该放在什么位置 在哪个命名空间等 在控制器的查询也是通过获得Model对象来操作数据 在这里我们在系统的说一下利用模型的增删改查以及模型可以完成的特殊工作 增 #增加单个数据 $d = new Bbs(); $d->data(['name'=>'mmmm','content'=>'nnnn...

雪球滚起来的博客 408
上一篇: TP5 模型修改器和自动完成
下一篇: 百度小程序概述
自娱自乐22
博客等级 码龄18年 241粉丝 135原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值