thinkphp自动完成、软删除 和时间戳
thinkphp自动完成、软删除 和时间戳
一、总结
自动完成:没有手动赋值的情况下进行手动处理
软删除:实现假删除,可以进行恢复
时间戳:系统支持自动写入创建和更新的时间戳字段
二、thinkphp自动完成、软删除 和时间戳
1、自动完成
1、修改器和自动完成区别
修改器:数据赋值的时候自动进行转换处理
自动完成:没有手动赋值的情况下进行手动处理
2、自动完成
// 增加和修改操作都会执行
protected $auto=[];
// 创建数据执行
protected $insert=['create_time'];
// 修改数据执行
protected $update=['update_time'];
2、时间戳
1、系统支持自动写入创建和更新的时间戳字段
1) 在配置文件中设置
// 自动写入时间戳字段
'auto_timestamp' => true,
2) 在数据模型中设置
// 设置自动写入时间戳
protected $autoWriteTimestamp=true;
2、可以设置字段默认值
// 增加时间的字段
protected $createTime='create_times';
// 更新时间的字段
protected $updateTime='update_times';
3、取消更新时间戳设置
protected $updateTime=false;
3、软删除
1、作用:
实现假删除,可以进行恢复
2、实现
<?php
// 声明命名空间
namespace app\index\model;
// 导入系统的数据模型
use think\Model;
// 配合软删除
use traits\model\SoftDelete;
// 声明user模型
class User extends Model{
// 使用软删除
use SoftDelete;
// 设置删除的时间戳
protected $deleteTime="delete_times";
}
3、控制器
1、删除数据
$res=User::destroy(15);
2、获取数据
$res=User::get(15);
// 软删除 数据库数据存在,但是get获取不到
3、直接删除数据
$res=User::destroy(14,true);
$user=new User();
$res=$user->where("id",'5')->delete();
4、读取所有数据包含软删除数据
$res=User::withTrashed()->find(15);
$res=User::withTrashed()->select();
5、仅仅读取软删除数据
$res=User::onlyTrashed()->select();
$res=User::onlyTrashed()->find(1);
thinkphp自动完成、软删除 和时间戳的更多相关文章
- laravel框架总结(九) -- 软删除
当模型被软删除时,它们并不会真的从数据库中被移除.而是会在模型上设置一个 deleted_at 属性并将其添加到数据库.如果对应模型被软删除,则deleted_at字段的值为删除时间,否则该值为空. ...
- ThinkPHP 自动验证与自动填充无效可能的原因(转)
自动验证与自动填充是在使用ThinkPHP时经常用到的功能,但偶尔会遇到自动验证与自动填充无效的情况,本文就ThinkPHP 自动验证与自动填充无效可能的原因做一些分析. create() Think ...
- ThinkPHP 自动验证与自动填充无效可能的原因
原文链接:http://www.5idev.com/p-thinkphp_validate_auto_Invalid.shtml 自动验证与自动填充是在使用ThinkPHP时经常用到的功能,但偶尔会遇 ...
- Yii2 软删除
什么是软删除 后台操作,删除一条记录,不希望真正的从数据库中删除,用个字段标记一下.比如delete_at.默认0.当执行删除操作,更新delete_at为当前时间戳 这样列表显示的时候只查询dele ...
- 实现HBase增量入库(HBase删除自定义时间戳行数据)
目录 1. 背景描述 2. 问题描述 3. 解决方案 1. 背景描述 目前在做音乐推荐项目,前期做排序模型优化,任务是使用模型对用户的历史音乐进行排序,有6800多万个用户,约40G的用户数据,使用H ...
- Laravel5.1 模型 --软删除
软删除是比较实用的一种删除手段,比如说 你有一本账 有一笔记录你觉得不对给删了 过了几天发现不应该删除,这时候软删除的目的就实现了 你可以找到已经被删除的数据进行操作 可以是还原也可以是真正的删除. ...
- laravel5.2总结--软删除
当模型被软删除时,它们并不会真的从数据库中被移除.而是会在模型上设置一个 deleted_at 属性并将其添加到数据库.如果对应模型被软删除,则deleted_at字段的值为删除时间,否则该值为空. ...
- ef core SoftDelete Multi-tenancy 软删除、多租户实现 Global Query Filters
ef core提供了Global Query Filters特性来实现多租户与软删除,收集了一些实现方法. 最简单的例子时微软官方的特性解释. https://docs.microsoft.com/e ...
- xorm-删除和软删除实例
删除数据Delete方法,参数为struct的指针并且成为查询条件.注意:当删除时,如果user中包含有bool,float64或者float32类型,有可能会使删除失败 package main i ...
随机推荐
- Atcoder AGC 019 A,B
A - Ice Tea Store Time limit : 2sec / Memory limit : 256MB Score : 300 points Problem Statement You' ...
- .Net 程序在自定义位置查找托管/非托管 dll 的几种方法
原文:.Net 程序在自定义位置查找托管/非托管 dll 的几种方法 一.自定义托管 dll 程序集的查找位置 目前(.Net4.7)能用的有2种: #define DEFAULT_IMPLEMENT ...
- aop 中joinpoint的使用方法
一.簡述下joinpoint在不同情況下的不同: 1.在around中可以用,此時可以執行被包裹的代碼,可以根據情況來判斷是否執行被包裹的代碼,以實現控制的作用. public void around ...
- UnrealEngine4针对游戏模式的思考
游戏能够概括为三类:单进程联机(超级玛丽).小规模联机(魔兽争霸.CS),大规模联机(魔兽世界). watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvZmx1c ...
- Log4j日志管理的简单实例
大型项目中非常多情况下要分析程序的日志信息,怎样管理自己的日志信息至关重要. 在应用程序中加入日志记录总的来说基于三个目的 , 监视代码中变量的变化情况,周期性的记录到文件里供其它应用进行统计分析工作 ...
- php课程 12-40 抽象类的作用是什么
php课程 12-40 抽象类的作用是什么 一.总结 一句话总结:定标准的 1.继承的关键词有哪两个? extendsparent 2.抽象类的实际意义是什么? 制造符合规范的产品你必须实现了抽象类里 ...
- Android线程间通讯的几种方式
1.runOnUiThread(Runnable) 在子线程中直接使用该方法,可以更新UI runOnUiThread(new Runnable(){//更新UI ...
- 005 python 整数类型/字符串类型/列表类型/可变/不可变
可变/不可变类型 可变类型 ID不变的情况下,值改变,则称之为可变类型,如列表,字典 不可变类型 值改变,ID改变,则称之为不可变类型,如 整数 字符串,元组 整数类型 int 正整数 用途就是记录年 ...
- CODEVS——T1332 上白泽慧音 || 洛谷——P1726 上白泽慧音
http://codevs.cn/problem/1332/|| https://www.luogu.org/problem/show?pid=1726#sub 时间限制: 1 s 空间限制: 1 ...
- linux下多进程的文件拷贝与进程相关的一些基础知识
之前实现了用文件IO的方式能够实现文件的拷贝,那么对于进程而言,我们是否也能够实现呢? 答案是肯定的. 进程资源: 首先我们先回想一下,进程的执行须要哪些资源呢?其资源包含CPU资源,内存资源,当然还 ...