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);

最新文章

  1. Win8.1下FreeImage.lib库的配置和简单使用(转)
  2. php中如何创建文件夹
  3. Daily Scrum – 1/15
  4. 我与 美国作家 21天精通C++ 作者 Rao的对话:
  5. 网站安全扫描工具--Netsparker的使用
  6. [ASP.Net]TableLayoutPanel的使用
  7. ROM与RAM知识
  8. Visual Studio 2017 通过SSH 调试Linux 上.NET Core
  9. 【CPP】数据和C
  10. Redis操作string
  11. 模块简介:(logging)(re)(subprocess)
  12. 控制结构(2): 卫语句(guard clause)
  13. MySQL:数据操作
  14. Django中的缓存(内存,文件,redis)
  15. Tools - Atom编辑器
  16. Spark笔记之累加器(Accumulator)
  17. web程序快速开发
  18. Vue之双向绑定原理动手记
  19. Reaction 开源可自定义实时的电商平台
  20. Spark(十二)SparkSQL简单使用

热门文章

  1. yum---rpm软件包管理器
  2. 【例题 8-13 UVA - 11093】Just Finish it up
  3. Oracle学习总结(8)—— 面向程序员的数据库访问性能优化法则
  4. 【Android】利用安卓的数据接口、多媒体处理编写内存卡Mp3播放器app
  5. js32---CommonUtil.js
  6. JavaScript的字符串、数组以及DOM操作总结
  7. 005 python 整数类型/字符串类型/列表类型/可变/不可变
  8. 腾讯官网生成qq在线客服代码
  9. Eclipse使用方法和技巧二十七:定义自己的高速联想词
  10. 24. Spring Boot 事务的使用