返回操作Users......登陆

操作Users模型实现物理删除与软删除;

JasonKim2019-04-21 16:09:41169
<?php
namespace app\index\controller;

use think\Controller;
use think\Db;
use app\index\model\Users as UsersModel;

class Users extends Controller
{
// 使用模型删除  destroy();
public function del()
{
    // 使用闭包删除
    UsersModel::destroy(function($query){
        $query->where('weight','>',130);// 体重大于130的删除
    });
}


/**
 * 实现软删除的步骤:
 *  1、在数据库表中(users) 添加字段:delete_time;
 *  2、在Users模型中引入SoftDelete类库;think\model\concern\SoftDelete;
 *  3、在Users模型中添加两个属性
 *     $deleteTime = 'delete_time';// 与数据表字段名一致
 *     $defaultSoftDelete = 0;// 添加删除标志默认值;
 *  4、在控制器中使用withTrashed() 方法实现软删除
 *  5、查看已删除的软删除;onlyTrashed();
 *  6、恢复软删除 (new UsersModel)->restore(条件);
 */

// 使用模型实现软删除
public function softdelete()
{
    // 如果想在查询的时候看到已经被删除的记录  使用:withTrashed();
    $res = UsersModel::withTrashed()->where('uid','<',5)->select();
    dump($res);
}


// 恢复软删除 使用依赖注入方式恢复
public function restore(UsersModel $users)
{
    // 恢复软删除
    $res = $users->restore(['uid'=>1]);
    dump($res);
}
}

?>


最新手记推荐

• 用composer安装thinkphp框架的步骤• 省市区接口说明• 用thinkphp,后台新增栏目• 管理员添加编辑删除• 管理员添加编辑删除

全部回复(0)我要回复

暂无评论~
  • 取消回复发送