
Thinkphp 6.0模型的软删除
Thinkphp 6.0学习数据库中模型使用软删除的方法。
·
本节课我们来学习数据库中模型使用软删除的方法。
一.模型软删除
1. 介于数据库软删除没有太多的可操作的方法,官方手册推荐使用模型软操作;
2. 首先,需要在模型端设置软删除的功能,引入 SoftDelete,它是 trait;
use SoftDelete;
protected $deleteTime = 'delete_time';
3. delete_time 默认我们设置的是 null,如果你想更改这个默认值,可以设置:
//protected $defaultSoftDelete = 0;
4. 软删除和方法如下,包括 destroy()和 delete():
UserModel::destroy(289);
UserModel::find(287)->delete();
5. 默认情况下,开启了软删除功能的查询,模型会自动屏蔽被软删除的数据;
$user = UserModel::select();
return json($user);
6. 在开启软删除功能的前提下,使用 withTrashed()方法取消屏蔽软删除的数据;
$user = UserModel::withTrashed()->select();
return json($user);
7. 如果只想查询被软删除的数据,使用 onlyTrashed()方法即可;
$user = UserModel::onlyTrashed()->select();
return json($user);
8. 如果想让某一条被软删除的数据恢复到正常数据,可以使用 restore()方法;
$user = UserModel::onlyTrashed()->find();
$user->restore();
9. 如果想让一条软删除的数据真正删除,在恢复正常后,使用 force()和 delete();
$user = UserModel::onlyTrashed()->find(193);
$user->restore();
$user->force()->delete(); //或 UserModel::destroy(288, true)
更多推荐
所有评论(0)