tp 5 框架 ajax软删除,回收站,数据恢复
//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软删除,回收站,数据恢复的更多相关文章
- laravel7 H-ui模板ajax软删除
1:HTML 书写 {{-- 不能自己删除自己的按钮出现 $item循环的值,$auth检测函数 --}} @if(auth()->id()!=$item->id) <a title ...
- laravel框架总结(九) -- 软删除
当模型被软删除时,它们并不会真的从数据库中被移除.而是会在模型上设置一个 deleted_at 属性并将其添加到数据库.如果对应模型被软删除,则deleted_at字段的值为删除时间,否则该值为空. ...
- 数据的软删除-管理员的CRUD
数据的“软删除”---把数据真正删除在某些时候会有问题.IsDeleted字段,false表示不删除,而是让用户可以看到,true表示是软删除,用户看不到. 一个表引用另外一张表的时候一定要引用主键. ...
- Entity Framework Core 软删除与查询过滤器
本文翻译自<Entity Framework Core: Soft Delete using Query Filters>,由于水平有限,故无法保证翻译完全正确,欢迎指出错误.谢谢! 注意 ...
- LindDotNetCore~ISoftDelete软删除接口
回到目录 概念 ISoftDelete即软删除,数据在进行delete后不会从数据库清除,而只是标记一个状态,在业务范围里都不能获取到这个数据,这在ORM框架里还是比较容易实现的,对传统的ado来说需 ...
- 【EF】Entity Framework Core 软删除与查询过滤器
本文翻译自<Entity Framework Core: Soft Delete using Query Filters>,由于水平有限,故无法保证翻译完全正确,欢迎指出错误.谢谢! 注意 ...
- 深入理解 EF Core:使用查询过滤器实现数据软删除
原文:https://bit.ly/2Cy3J5f 作者:Jon P Smith 翻译:王亮 声明:我翻译技术文章不是逐句翻译的,而是根据我自己的理解来表述的.其中可能会去除一些本人实在不知道如何组织 ...
- 在FreeSQL中实现「触发器」和软删除功能
前言 最近做新项目,技术栈 AspNetCore + FreeSQL 这个ORM真的好用,文档也很完善,这里记录一下两个有关「触发器」的功能实现 修改实体时记录更新时间 模型代码 我的模型都是基于这个 ...
- tp5 model 中的软删除
model中需use traits\model\SoftDelete; // 数据表中需添加一个 delete_time 字段保存删除时间 namespace app\index\model; use ...
随机推荐
- 羽夏闲谈—— C 的 scanf 的高级用法
前言 今天看到博友发了个有关scanf的使用的注意事项,就是讨论缓冲区残存数据的问题,用简单的代码示例复述一下: #define _CRT_SECURE_NO_WARNINGS #include ...
- Jvm和CPU保证特定情况下不乱序
简介 CPU为了提高指令执行效率,会在一条指令执行过程中(比去内存读数据(慢100倍)),去同时执行另一条指令,前提是,两条指令没有依赖关系. CPU保证不乱序 MESI--CPU缓存一致性协议(In ...
- TCP连接的状态转换图深度剖析
转载请注明来源:https://www.cnblogs.com/hookjc/ 在TCP/IP协议中,TCP协议提供可靠的连接服务,采用三次握手建立一个连接,如图1所示. (1)第一次握手:建立连接时 ...
- CSS 圆角框
转载请注明来源:https://www.cnblogs.com/hookjc/ 其实这种圆角框是靠一个个容器堆砌而成的,每一个容器的宽度不同,这个宽度是由margin外边距来实现的,如:margin: ...
- @synthesize基本概念
1.什么是@synthesize @synthesize是编译器的指令 什么是编译器的指令 ? 编译器指令就是用来告诉编译器要做什么! @synthesize会让编译器做什么呢? @synthesiz ...
- KubeSphere单节点(all-in-one)平台搭建记录
KubeSphere单节点(all-in-one)平台搭建记录 目录 KubeSphere单节点(all-in-one)平台搭建记录 一.主机准备 1.1 主机配置 1.2 环境准备 二.下载kube ...
- Docker的数据管理、网络通信和dockerfile
Docker的数据管理.网络通信和dockerfile 目录 Docker的数据管理.网络通信和dockerfile 一.Docker的数据管理 1. 数据卷 1.1 数据卷定义 1.2 数据卷配置 ...
- Docker prefereces
https://docs.docker.com/docker-for-mac/#preferences-menu docker 的镜像命令需要抽时间了解
- python基础语法_字符串编码
Python常用字符编码 http://www.cnblogs.com/schut/p/8406897.html Python常见字符编码间的转换 在字符串写入文件时,有时会因编码问题导致无法 ...
- 关于spring data redis repository @RedisHash注解的对象上有DateTime属性字段的问题
当你save保存的时候你会发现出现StackOverflow Exception,很明显出现了无限循环,可是仅仅是一个save操作,哪里来的无限循环呢? 最终发现就是DateTime导致的,因为将对象 ...