当前位置:首页 > 后端

thinkphp6批量软删除

Z先生3年前 (2022-12-29)后端1010

关于thinkphp软删除的理解

软删除核心逻辑

  • 数据库设置软删除字段,并将类型定义为int(10)

  • 软删除核心代码

    // 自动时间戳类型未int
    protected $autoWriteTimestamp = 'int';
    // 软删除,需要引入use think\model\concern\SoftDelete;
    use SoftDelete;
    // 软删除字段
    protected $deleteTime = 'isdel';
    // 软删除默认值
    protected $defaultSoftDelete = 0;
  • 单记录删除
    — 方法一,非主键删除

    $model = User::where('name','张三')->limit(1)->find();
    if (!is_null){
        $model->delete();
    }

– 方法二,主键删除

    $id = 5;
    User::destroy($id);

哈哈哈,这里注意!!!
如果直接使用:User::where('name','张三')->delete();是删除不掉的!
如果直接使用:User::where('id',5)->destroy();是要报错的!
搞笑不?!

批量删除最佳实践update

如果要批量软删除怎么办?
假如我们要批量软删除group_id = 2的用户,那么就这样操作!

    User::where('group_id', 2)->update(['isdel' => time()]);
分享给朋友:

相关文章

Ajax分页,php+Mysql Limit写法

$pagesize = 20; $page--; $start = $page <= 0 ? 0 :…

PHP年龄计算

通过出生日期,再传入指定日期计算年龄,不传入则计算到今天的时间。        /**  * 计…

php json_decode转换为null的问题解决

在做某一程序的时候,前台组装的json数组,为了能传到后台,使用JSON.stringify将其转换成字符串后后端接收。但是接收后,死活转换不了数组,使用json_last_error()输出错误后,…

【转】rtsp视频流实现浏览器h5播放

【转】rtsp视频流实现浏览器h5播放

方案思路:获取摄像头数据流 --> FFmpeg转码 --> Node.js(搭建webSocket服务器) --> 在服务器上运行jsmpeg程序操作步骤首先查看是否能够正常地获取…

【转】Swoole和Workerman到底选谁?

【转】Swoole和Workerman到底选谁?

Swoole:面向生产环境的 PHP 异步网络通信引擎       使 PHP 开发人员可以编写高性能的异步并发 TCP、UDP、Unix Socket、HTT…

php array_column函数封装

array_column函数只支持php5.5.0以上版本,所以这里要封装下,这样可以兼容用法if (!function_exists("array_column"))&…

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。