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);
最新文章
- Win8.1下FreeImage.lib库的配置和简单使用(转)
- php中如何创建文件夹
- Daily Scrum – 1/15
- 我与 美国作家 21天精通C++ 作者 Rao的对话:
- 网站安全扫描工具--Netsparker的使用
- [ASP.Net]TableLayoutPanel的使用
- ROM与RAM知识
- Visual Studio 2017 通过SSH 调试Linux 上.NET Core
- 【CPP】数据和C
- Redis操作string
- 模块简介:(logging)(re)(subprocess)
- 控制结构(2): 卫语句(guard clause)
- MySQL:数据操作
- Django中的缓存(内存,文件,redis)
- Tools - Atom编辑器
- Spark笔记之累加器(Accumulator)
- web程序快速开发
- Vue之双向绑定原理动手记
- Reaction 开源可自定义实时的电商平台
- Spark(十二)SparkSQL简单使用
热门文章
- yum---rpm软件包管理器
- 【例题 8-13 UVA - 11093】Just Finish it up
- Oracle学习总结(8)—— 面向程序员的数据库访问性能优化法则
- 【Android】利用安卓的数据接口、多媒体处理编写内存卡Mp3播放器app
- js32---CommonUtil.js
- JavaScript的字符串、数组以及DOM操作总结
- 005 python 整数类型/字符串类型/列表类型/可变/不可变
- 腾讯官网生成qq在线客服代码
- Eclipse使用方法和技巧二十七:定义自己的高速联想词
- 24. Spring Boot 事务的使用