//HTML代码:

  <td>
<span onclick="del({$v.id})">删除</span>
</td>
 //ajax删除
function del(id) {
var token = localStorage.getItem('token')
$.ajax({
url: "/admin/order/delete",
type: "DELETE",
data: {
id: id
},
dataType: "JSON",
success: function (res) {
console.log(res)
if (res.code == 500) {
alert('参数不正确')
}
if (res.code == 200) {
alert('删除成功')
}
//跳转至订单页面/admin/order/,携带token
location.href = '/admin/order/order?token=' + token
} }) }

//控制器代码

    public function delete($id)
{
$data = input();
$id = $data['id'];
//验证参数
if (!intval($id)) {
return json(['code' => 500, 'massage' => '参数不正确']);
}
$result = OrderModel::del($id);
return json(['code' => 200, 'massage' => 'success', 'data' => $result]);
}
}

软删除模型代码:

//    软删除
public static function del($id)
{
return self::destroy($id);
}

回收站HTML代码

span onclick="restore()">回收站</span>

  function restore() {
//携带token
var token = localStorage.getItem('token')
//跳转地址
location.href = '/admin/order/getRell?token=' + token
}

去模型查询软删除数据的代码:

//软删除回收站数据
public static function getRell()
{
return self::onlyTrashed()->select(); }

控制器代码:

    //查询回收站数据,并将数据携带至页面
public function getRell()
{
//调用模型,提取数据
$restore = OrderModel::getRell();
//向视图发送数据
$this->assign('restore', $restore);
return view();

回收站数据恢复

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<link rel="stylesheet" href="http://apps.bdimg.com/libs/bootstrap/3.3.0/css/bootstrap.min.css">
</head>
<body>
<table class="table">
<tr>
<td>订单号</td>
<td>支付方式</td>
<td>收货人姓名</td>
<td>支付状态</td>
<td>软删除时间</td>
<td>操作</td>
</tr>
{foreach $restore as $k=>$v}
<tr>
<td>{$v.order}</td>
<td>{$v.pay}</td>
<td>{$v.consignee}</td>
<td>{$v.status}</td>
<td>{$v.delete_time}</td>
<td>
<!-- <a href="/admin/order/eovery/id/{$v.id}/{$Think.session.token}">数据恢复</a>-->
<span onclick="data({$v.id})">数据恢复</span>
</td>
</tr>
{/foreach}
</table> </body>
</html>
<script src="https://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js">
</script>
<script>
function data(id){
//获取token;
var token=localStorage.getItem('token');
$.ajax({
url: "/admin/order/eovery",
type: "POST",
data: {
id:id,
},
dataType: "JSON",
success: function (res) {
console.log(res)
//跳转至订单页面/admin/order/,携带token
location.href = '/admin/order/order?token='+token;
}
})
} </script>

数据恢复控制器代码:

    //软删除恢复
public function eovery()
{
//接收需要恢复的软删除id
$id = input('id');
//实例化模型
$obj = new OrderModel();
//根据id恢复数据
$restore = $obj->restore(['id' => $id]);
if (!$restore) {
return json(['code' => 200, 'massage' => 'success']);
} }

tp 5 框架 ajax软删除,回收站,数据恢复的更多相关文章

  1. laravel7 H-ui模板ajax软删除

    1:HTML 书写 {{-- 不能自己删除自己的按钮出现 $item循环的值,$auth检测函数 --}} @if(auth()->id()!=$item->id) <a title ...

  2. laravel框架总结(九) -- 软删除

    当模型被软删除时,它们并不会真的从数据库中被移除.而是会在模型上设置一个 deleted_at 属性并将其添加到数据库.如果对应模型被软删除,则deleted_at字段的值为删除时间,否则该值为空. ...

  3. 数据的软删除-管理员的CRUD

    数据的“软删除”---把数据真正删除在某些时候会有问题.IsDeleted字段,false表示不删除,而是让用户可以看到,true表示是软删除,用户看不到. 一个表引用另外一张表的时候一定要引用主键. ...

  4. Entity Framework Core 软删除与查询过滤器

    本文翻译自<Entity Framework Core: Soft Delete using Query Filters>,由于水平有限,故无法保证翻译完全正确,欢迎指出错误.谢谢! 注意 ...

  5. LindDotNetCore~ISoftDelete软删除接口

    回到目录 概念 ISoftDelete即软删除,数据在进行delete后不会从数据库清除,而只是标记一个状态,在业务范围里都不能获取到这个数据,这在ORM框架里还是比较容易实现的,对传统的ado来说需 ...

  6. 【EF】Entity Framework Core 软删除与查询过滤器

    本文翻译自<Entity Framework Core: Soft Delete using Query Filters>,由于水平有限,故无法保证翻译完全正确,欢迎指出错误.谢谢! 注意 ...

  7. 深入理解 EF Core:使用查询过滤器实现数据软删除

    原文:https://bit.ly/2Cy3J5f 作者:Jon P Smith 翻译:王亮 声明:我翻译技术文章不是逐句翻译的,而是根据我自己的理解来表述的.其中可能会去除一些本人实在不知道如何组织 ...

  8. 在FreeSQL中实现「触发器」和软删除功能

    前言 最近做新项目,技术栈 AspNetCore + FreeSQL 这个ORM真的好用,文档也很完善,这里记录一下两个有关「触发器」的功能实现 修改实体时记录更新时间 模型代码 我的模型都是基于这个 ...

  9. tp5 model 中的软删除

    model中需use traits\model\SoftDelete; // 数据表中需添加一个 delete_time 字段保存删除时间 namespace app\index\model; use ...

随机推荐

  1. 羽夏闲谈—— C 的 scanf 的高级用法

    前言   今天看到博友发了个有关scanf的使用的注意事项,就是讨论缓冲区残存数据的问题,用简单的代码示例复述一下: #define _CRT_SECURE_NO_WARNINGS #include ...

  2. Jvm和CPU保证特定情况下不乱序

    简介 CPU为了提高指令执行效率,会在一条指令执行过程中(比去内存读数据(慢100倍)),去同时执行另一条指令,前提是,两条指令没有依赖关系. CPU保证不乱序 MESI--CPU缓存一致性协议(In ...

  3. TCP连接的状态转换图深度剖析

    转载请注明来源:https://www.cnblogs.com/hookjc/ 在TCP/IP协议中,TCP协议提供可靠的连接服务,采用三次握手建立一个连接,如图1所示. (1)第一次握手:建立连接时 ...

  4. CSS 圆角框

    转载请注明来源:https://www.cnblogs.com/hookjc/ 其实这种圆角框是靠一个个容器堆砌而成的,每一个容器的宽度不同,这个宽度是由margin外边距来实现的,如:margin: ...

  5. @synthesize基本概念

    1.什么是@synthesize @synthesize是编译器的指令 什么是编译器的指令 ? 编译器指令就是用来告诉编译器要做什么! @synthesize会让编译器做什么呢? @synthesiz ...

  6. KubeSphere单节点(all-in-one)平台搭建记录

    KubeSphere单节点(all-in-one)平台搭建记录 目录 KubeSphere单节点(all-in-one)平台搭建记录 一.主机准备 1.1 主机配置 1.2 环境准备 二.下载kube ...

  7. Docker的数据管理、网络通信和dockerfile

    Docker的数据管理.网络通信和dockerfile 目录 Docker的数据管理.网络通信和dockerfile 一.Docker的数据管理 1. 数据卷 1.1 数据卷定义 1.2 数据卷配置 ...

  8. Docker prefereces

    https://docs.docker.com/docker-for-mac/#preferences-menu docker 的镜像命令需要抽时间了解

  9. python基础语法_字符串编码

    Python常用字符编码 http://www.cnblogs.com/schut/p/8406897.html   Python常见字符编码间的转换   在字符串写入文件时,有时会因编码问题导致无法 ...

  10. 关于spring data redis repository @RedisHash注解的对象上有DateTime属性字段的问题

    当你save保存的时候你会发现出现StackOverflow Exception,很明显出现了无限循环,可是仅仅是一个save操作,哪里来的无限循环呢? 最终发现就是DateTime导致的,因为将对象 ...