## 软删除
>[info] 在实际开发过程,经常会遇到频繁删除的内容,如果数量庞大,将会成为性能的瓶颈。因此,对于要删除的数据,我们仅仅是加一个删除标志,这样在查询时并不会显示出来,达到了删除的目的。等累积到一定数量后,或确认无用后再统一删除。当然也可以随时恢复。
* * * * *
1. 这里要用到一个PHP5.4 引入的新知识:traits 技术。其实就是一种特殊的类,可以认为是夹在基类与派生类之间的中间类,这个中间类可以不只一个,于是间接的实现了多继承。
2. 软删除,同样也要先在自定义模型类中,做一些必要的设置工作。
* * * * *
>[warning]官方手册,对该功能的介绍,几乎一笔带过,但是我认为这个功能非常重要,所以打算好好与大家唠唠这个有意思的玩意~~
### 让我们开始本章的学习吧~~
- 前言[随时更新]
- 开发环境
- 1.Mac环境
- 2.windows环境
- 模型对象
- 1.创建模型对象
- 2.模型初始化
- 数据对象
- 1.定义数据对象
- 2.创建数据对象
- 1.data方法
- 2.setAttr方法
- 3.__set方法
- 4.查询数据对象
- 1.getData方法
- 2.getAttr方法
- 3.__get方法
- OOP难点总结
- 1.get_class( )实例讲解
- 2.get_called_class( )实例讲解
- 3.__call( )实例讲解
- 3.__callStatic( )实例讲解
- 4.call_user_func_array函数[重点]
- 5.普通方法与静态方法
- 6.在Model源码中的应用
- 7.new static 延迟静态绑定
- PHP标准化规范
- 查询数据
- 1.获取单条:get静态方法
- 2.获取单条:对象查询
- 3.获取多条:all静态方法
- 4.获取多条:对象查询
- 5.获取字段值:value方法
- 6.获取列值:column方法
- 7.动态查询:getBy字段名
- 8.助手函数:model查询
- 9.加载器:Loader类查询
- 10.数据库与模型查询对比
- 新增数据
- 1.sava方法
- 2.savaAll方法
- 3.create静态方法
- 4.insert静态调用
- 更新数据
- 1.单条更新:save方法
- 2.批量更新:saveAll方法
- 3.静态更新:update方法
- 4.查询类Query直接更新
- 5. 闭包更新
- 删除数据
- 1.删除当前记录:delete
- 2.静态条件删除:destory
- 获取器
- 1.模型方法:set属性Attr
- 修改器
- 1.set属性Attr
- 时间戳
- 1.MySQL中日期类型复习
- 2.时间戳功能详解
- 软删除[重点]
- 1.traits详解[选学内容]
- 2.SoftDelet类源码分析
- 3. delete实例删除
- 4.destroy条件删除
- 5.restore恢复数据
- 类型转换
- 1. 规则设置
- 2. 实例演示
- 查询范围
- 1. 基本概念
- 2.实例演示