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 ...
随机推荐
- 集合remove()方法相关问题
学习集合的过程中,了解到一个有关于remove()方法的有关特性,特此记录 首先remove方法的格式: collection.remove(Object o); 这是指对集合collection内的 ...
- CF954H Path Counting
一开始的想法是枚举路径的 \(\rm LCA\) 然后再枚举两边的深度,但是这样无论如何我都只能做到 \(O(n ^ 3)\) 的复杂度. 只能考虑换一种方式计数,注意到点分治可以解决树上一类路径问题 ...
- Redis集成SpringBoot
简介 此案例中使用Centos7+redis+SpringBoot. redis安装 https://www.cnblogs.com/xiaofengshan/p/15860447.html 添加依赖 ...
- 男孩和女孩(二)-->相识
转载请注明来源:https://www.cnblogs.com/hookjc/ 那天是男孩的十九岁生日:男孩还是像平常一样,一大早就起来了(快七点了).一切都是那么的平常,直到第一节课下课,男孩的同窗 ...
- Base64补充
1.Base64简单说明 描述:Base64可以成为密码学的基石,非常重要. 特点:可以将任意的二进制数据进行Base64编码 结果:所有的数据都能被编码为并只用65个字符就能表示的文本文件. 65字 ...
- nginx入门教程 (转)
1.Nginx 状态码配置和错误文件 server { # 配置访问 /test.js 时报 403 错 location /test.js { return 403; } # 配置访问 /404 时 ...
- JAVA String介绍、常量池及String、StringBuilder和StringBuffer得区别. 以及8种基本类型的包装类和常量池得简单介绍
一.概述 String是代表字符串的类,本身是一个最终类,使用final修饰,不能被继承. 二.定义方式 方式一:直接赋值法 String str1 = "hello"; 方式 ...
- 对于Web性能优化, 了解和经验
我们在发布项目之前压缩CSS和JavaScript源代码,这样文件体积就变小了,用户加载必要资源所花的时间也就更短了. 压缩源码和图片 JavaScript文件源代码可以采用混淆压缩的方式,CSS文件 ...
- Centos8安装virtualbox
一.执行以下命令并启用 VirtualBox 和 EPEL 包仓库 dnf config-manager --add-repo=https://download.virtualbox.org/virt ...
- git本地仓库关联多个远程仓库及取消关联
关联 本地和远程仓库关联步骤: 在网站上(如gitee.github等,这里以gitee为例)首先添加好自己的ssh公钥 本地创建一个空的项目,即文件夹. 在文件夹下git init初始化仓库 在gi ...