//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. 从我做起[原生DI实现模块化和批量注入].Net Core 之一

    实现模块化注册 .Net Core实现模块化批量注入 我将新建一个项目从头开始项目名称Sukt.Core. 该项目分层如下: Sukt.Core.API 为前端提供APi接口(里面尽量不存在业务逻辑, ...

  2. js获取 url?后面的参数取值

    function GetRequest() {     var url = location.search; //获取url中"?"符后的字串     var theRequest ...

  3. sort、uniq、tr、cut、eval以及正则表达式

    sort.uniq.tr.cut.eval以及正则表达式 目录 sort.uniq.tr.cut.eval以及正则表达式 一.sort命令 1. sort的作用 2. 语法格式 3. 常用选项 4. ...

  4. 索引,事务,存储引擎和选择,视图,mysql管理

    一.mysql索引:提高数据库的性能(不用加内存,不用改程序,不用调sql,查询速度就可能提高百倍千倍)索引会占用磁盘空间 CREATE   INDEX   索引名   ON   数据表 (列名or字 ...

  5. 剑指Offer系列_09_用两个栈实现队列

    package leetcode.sword_to_offfer.day01; import java.util.LinkedList; /** * 用两个栈实现一个队列.队列的声明如下,请实现它的两 ...

  6. mock测试出现Circular view path [trade_records]: would dispatch back to the current handler URL

    这是因为你的Controller中返回的视图名称与你当前的requestMapping名称一样,这并没有很好的解决方案,除非你改掉其中一个名字. 因为springframework test时你并没有 ...

  7. 小程序"errcode":41002错误问题如何解决?

    我的问题是:小程序在本地测试的时候是没有问题的,但是当我扫开发者中的项目中的二维码手机浏览测试的时候发现是没有数据的,然后调试工具中出现: {"errcode":41002,&qu ...

  8. Solution -「多校联训」假人

    \(\mathcal{Description}\)   Link.   一种物品有 长度 和 权值 两种属性,现给定 \(n\) 组物品,第 \(i\) 组有 \(k_i\) 个,分别为 \((1,a ...

  9. [LeetCode]21.合并两个有序链表(Java)

    原题地址: merge-two-sorted-lists 题目描述: 将两个升序链表合并为一个新的 升序 链表并返回.新链表是通过拼接给定的两个链表的所有节点组成的. 示例 1: 输入:l1 = [1 ...

  10. suse 12 脚本部署docker(二进制文件)

    suse-linux:~ # cat /etc/issue Welcome to SUSE Linux Enterprise Server 12 SP3 (x86_64) - Kernel \r (\ ...