//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. 【转】Nginx location写法

    转自:https://www.cnblogs.com/IPYQ/p/7889399.html nginx location正则写法 location = / { # 精确匹配 / ,主机名后面不能带任 ...

  2. 性能测试之监控--zabbix通过jmx监控tomcat

    前提: 已经安装好了zabbix server 实验环境 Centos 7 Zabbix 3.0 Tomcat 7.0 JDK 1.8 安装JDK tar -zxvf jdk-8u181-linux- ...

  3. 随机数类 Random

    import java.util.Random; /* 随机数类 Random 需求: 编写一个函数随机产生四位的验证码. */ public class Demo5 { public static ...

  4. python——schedule库实现定时任务

    今天给脚本加定时任务用到一个schedule库,使用起来很简单方便.https://github.com/dbader/schedulehttps://schedule.readthedocs.io/ ...

  5. Java中的equals和==的区别以及几个常用的object中的方法简单的调试方法

    一.equals 1.equals:是Object类中的方法,只能判断引用类型 2.默认判断的是地址是否相等(判断两个参数是否是同一个对象),子类中往往重写该方法,用于判断内容(值)是否相等 二.== ...

  6. 基于反熔丝FPGA、QSPI FLASH的高可靠程序存储、启动控制系统

    1      涉及术语解释 1.1     三模冗余 三模冗余系统简称TMR(Triple Modular Redundancy),是最常用的一种容错设计技术.三个模块同时执行相同的操作,以多数相同的 ...

  7. 3、前端--伪元素选择器、选择器优先级、字体、背景、边框、display、盒子模型

    伪元素选择器 # 首字调整>>>:也是一种文档布局的方式 p:first-letter { font-size: 48px; /*字体大小*/ color: red; } # 在文本 ...

  8. 使用Sinopia部署私有npm仓库

    使用Sinopia部署私有npm仓库 [root@localhost ~]# hostnamectl set-hostname --static npm-server [root@npm-server ...

  9. c++ Message与Folder 拷贝 析构(没有动态空间的类)

    c++ Message与Folder 拷贝 析构(没有动态空间的类) 1.两个类里边分别保存一个对方的set表,当前类有拷贝或者销毁时需要更新另一个类的set表. 2.两个类都需要访问对方的priva ...

  10. 树莓派GPIO开发(一):激光头传感器模块的使用

    配置环境 系统:Raspbian11(64位) 设备:树莓派CM4 一.写在前面 主要为了测试我捡漏买的CM4的拓展版 拓展板子没有焊接引脚,但是预留的接口 手动焊接一下 测试成功 ,说明我捡的这块板 ...