软删除和时间戳

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

二、软删除
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、控制器
a、删除数据
$res=User::destroy(15);
b、获取数据
$res=User::get(15);
// 软删除 数据库数据存在,但是get获取不到
c、直接删除数据
                $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);



阅读更多
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页