如何借助deletedAt字段实现数据的假删和真删?

在cms系统中,文章假删至回收站,再到回收站真删是一个非常常见的功能。之前遇到这种问题,我都是手动在文章表里设置一个delete字段,通过布尔值来区分正常文章和假删文章,如果需要真删,则删除整条信息。

但是现在有一个需求就是要使用mysql自带的deletedAt字段来处理删除的业务。在文章的model中我写了:

    {
      timestamps: true,
      paranoid: true,
      deletedAt: 'deletedAt' //在数据库中为deleted_at字段
    }

这样正常展示的文章deleted_at为NULL,一篇文章通过destroy的接口时,就会被打上时间戳,deleted_at就会有记录,查看接口已经找不到这篇文章了,但是在数据库还是能看到的。
那么问题来了,我在回收站界面通过什么条件能够找到被假删的数据呢?以及这些数据怎么进一步执行真删的操作呢?
补充:
通过del()接口并不能真的删掉这个数据,它只是被打上了时间戳,并不能消失。

阅读 413
评论
    1 个回答

    指的是查询SQL?

    WHERE deleted_at IS NOT NULL 
      撰写回答

      登录后参与交流、获取后续更新提醒