tp5 model 中的软删除

时间:2023-03-09 19:49:58
tp5 model 中的软删除

model中需use traits\model\SoftDelete;

// 数据表中需添加一个 delete_time 字段保存删除时间
namespace app\index\model; use think\Model;
use traits\model\SoftDelete; class User extends Model
{
use SoftDelete;
protected static $deleteTime = 'delete_time'; // 5.2版本之前必须用static定义
}

软删除和真实删除

$user = model('User');
$user::destroy(1); // 软删除
$user::destroy(1,true); // 真实删除
$user->delete(); // 软删除
$user->delete(true); // 真实删除

默认情况查询数据不包含软删除的数据,如果需要包含,则这样查询:

$user = model('User');
$data = $user::withTrashed()->select();

如果仅仅查询软删除的数据,则这样使用:

$user = model('User');
$data = $user::onlyTrashed()->select();
$user