ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
> ## 软删除:把数据加上删除标记,而不是真正的删除 ,便于数据恢复 > 需要引入SoftDelete trait ### 定义方法 ``` namespace app\index\model; use think\Model; use traits\model\SoftDelete; class User extends Model { use SoftDelete; // 5.0.2版本之前deleteTime属性必须使用static定义 // 该字段默认为时间戳类型,默认值为Null // 可以用《类型转换》指定软删除字段的类型,建议数据表的所有时间字段为同种类型。 protected $deleteTime = 'delete_time'; } ``` ### 使用方法 ``` /** 静态调用 **/ // 软删除 User::destroy(1); // 真实删除 User::destroy(1,true); /** 动态调用 **/ $user = User::get(1); // 软删除 $user->delete(); // 真实删除 $user->delete(true); ``` ### 使用软删除之后的查询 ``` // 默认情况下查询会过滤软删除数据 // 如果想要获得所有的数据(包括软删除数据) User::withTrashed()->find(); User::withTrashed()->select(); // 只查出软删除数据 User::onlyTrashed()->find(); User::onlyTrashed()->select(); ```