博客列表 >软删除及回复—2018年5月25日10:16:54

软删除及回复—2018年5月25日10:16:54

清雨的博客
清雨的博客原创
2018年05月25日 10:17:16897浏览

实例

<?php
namespace app\index\controller;
use think\Controller;
use app\index\model\Staff as StaffModel;

class Index extends Controller{
	// 闭包查询
    public function select(){
    	$staff = StaffModel::all(function($query){
    		$query -> where('age','<',50)->where('salary','>',3000);
    	});
    	dump($staff);
    }
    // 软删除
    /**
     * 软删除需要现在model 模型中进行定义软删除
     * 在数据库表中添加软删除字段,此指端在数据库中存储以linux时间戳的方式进行存储
     * 在软删除中采用用的方式为更新方式,在需要删除的数据的删除字段中更新时间戳
     * 在一般的查询中是无法查询到软删除的数据。
     * 需要采用
     * User::withTrashed()->find();
       User::withTrashed()->select();
     * 的方式进行查询,
     * 软删除回复,相同,也是采用更新操作,
     * 将准备回复的数据进行更新操作,将时间戳字段的数据作为null。
     * 一般查询方可查询。
     */
    public function softDelete(){
    	//软删除
    	// StaffModel::destroy(7);
    	//恢复被软删除的数据
    	 $res = StaffModel::onlyTrashed() -> find(7);
    	 $res -> restore();
    }
    
}

运行实例 »

点击 "运行实例" 按钮查看在线实例

模型

实例

<?php
namespace app\index\model;
use think\Model;
// 导入think自带软删除功能
use think\model\concern\SoftDelete;

class Staff extends Model{
	use SoftDelete;

	// 设置表名
	protected $table = 'staff';
	protected $id    = 'id';
	// 设置删除时间段字段
	protected $deleteTime = 'delete_time';
	//设置默认值
	protected $defaultSoftDelete = 0;
}

运行实例 »

点击 "运行实例" 按钮查看在线实例



 软删除需要现在model 模型中进行定义软删除
     * 在数据库表中添加软删除字段,此指端在数据库中存储以linux时间戳的方式进行存储
     * 在软删除中采用用的方式为更新方式,在需要删除的数据的删除字段中更新时间戳
     * 在一般的查询中是无法查询到软删除的数据。
     * 需要采用
     * User::withTrashed()->find();
       User::withTrashed()->select();
     * 的方式进行查询,
     * 软删除回复,相同,也是采用更新操作,
     * 将准备回复的数据进行更新操作,将时间戳字段的数据作为null。
     * 一般查询方可查询。

声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议