Thinkphp 使用Model来增删改查

news/2024/11/13 5:31:29/

这里写目录标题

  • 一、Model部分
  • 二、增加
  • 三、查询
  • 四、删除
  • 五、修改

一、Model部分

<?php
namespace app\common\model;use think\Model;
use think\Request;
use think\Db;
use traits\model\SoftDelete;class Visit Extends Model
{// use SoftDelete;// 开启自动写入时间戳字段protected $name = 'visit_log';protected $autoWriteTimestamp = 'int';// 定义时间戳字段名protected $createTime = 'createtime';protected $updateTime = 'updatetime';protected $deleteTime = 'deletetime';protected $append = [];protected $alias = 'u';public function user(){return $this->belongsTo('User', 'uid', 'id', [], 'LEFT')->bind(['username'=>'username']);}
}

二、增加

public function add(){$log = new ModelVisit;$log->uid = $this->auth->id;$log->gid = $this->auth->group_id;$log->visit_time = input('visit_time');$log->status = input('status');$log->status = 1;if($log->save()){$this->success("ok");}else{$this->error("添加失败,请稍后再试");}
}

三、查询

public function list(){$row = ModelVisit::with('user')->where('gid',$this->auth->group_id)->order("id","desc")->select();foreach ($row as $k => $v) {$v->visit_time = datetime($v->visit_time, 'Y/m/d');}if($row){$this->success('ok',$row);}else{$this->error("查询失败,请稍后再试");}}

四、删除

public function del(){$id = input('id');$ret = ModelVisit::get($id);if (!$ret) {$this->error('记录不存在');}ModelVisit::destroy($id);$this->success('删除成功');
}

五、修改

public function edit(){$id = input('id');$row = ModelVisit::get($id);if (!$row) {$this->error('记录不存在');}$log = [];$log['visit_time'] = input('visit_time');$log['visit_type'] = input('visit_type');if($row->allowField(true)->save($log) === false){$this->error('修改失败');}$this->success('修改成功');}

http://www.ppmy.cn/news/1466943.html

相关文章

【ArcGIS微课1000例】0115:字段数据类型案例详解

文章目录 一、ArcGIS数据类型概述二、案例1. 数字2. 文本3. 日期4. BLOB5. 对象标识符6. 全局标识符一、ArcGIS数据类型概述 创建要素类和表时,需要为各字段选择数据类型。可用的类型包括多种数字类型、文本类型、日期类型、二进制大对象 (BLOB) 或全局唯一标识符 (GUID)。选…

国内半导体龙头企业的自动化转型之旅

在当今高速发展的科技时代&#xff0c;半导体行业正迎来前所未有的挑战与机遇。位于此浪潮前端的&#xff0c;是国内一家领先的半导体集成电路封装测试企业。凭借其规模和创新实力&#xff0c;该公司不仅在国内市场名列前茅&#xff0c;更是在全球半导体行业中占据了一席之地。…

图像操作的基石Numpy

OpenCV中用到的矩阵都要转换成Numpy数组 Numpy是一个经高度优化的Python数值库 创建矩阵 检索与赋值[y,x] 获取子数组[:,:] 一 创建数组array() anp.array([2,3,4]) cnp.array([1.0,2.0],[3.0,4.0]]) import numpy as npanp.array([1,2,3])bnp.array([[1,2,3],[4,5,6]])pr…

内网穿透--proxychains项目(支持Linux)

免责声明:本文仅做技术交流与学习... 目录 一图通解 cs操作: socks代理 kali操作: 配置proxychains 执行命令 代理技术:c/s 服务端和客户端 缺一不可. 服务端:外网服务器(cs服务端) 客户端:本地kali 一图通解 cs操作: socks代理 cs上线后,右键代理转发,socks代…

两整数之和 ---- 位运算

题目链接 题目: 分析: 题目中要求不能使用-, 考虑到我们的位运算异或^, 是无进位加法, 可以使用如果是无进位加法, 那么我们就要找到进位, 并进行计算, 进位只有1和1相加时才会产生进位1, 而0和1相加无进位, 进位为0, 那么我们就想到了&运算, 1&1 1, 0&1 0, 所…

深度神经网络——什么是梯度提升?

在数据科学竞赛中&#xff0c;梯度提升模型&#xff08;Gradient Boosting&#xff09;是一种非常强大的工具&#xff0c;它能够将多个弱学习模型组合起来&#xff0c;形成一个强学习模型。这个过程是通过逐步添加弱学习者来实现的&#xff0c;每个新加入的弱学习者都专注于当前…

【线性代数】第五章-线性方程组

文章目录 一. 基本内容与重要结论1. 线性方程组的定义2. 线性方程组的初等变换3. 基础解系 二. 主要定理1. 初等行变换可得同解方程组2. 解的情况3. 齐次有解的定理4. (齐次)基础解系的构成ing5. 非齐次有解定理6. 解的性质与结构 本章需要掌握内容 理解线性方程组解的概念.非…

完全指南:C语言学习资源汇总

C语言是编程学习的基石&#xff0c;无论是为了职业发展还是个人兴趣&#xff0c;掌握C语言都是技术生涯的重要一步。为了帮助初学者和有经验的程序员更好地学习和深化对C语言的理解&#xff0c;我们汇总了一系列优秀的书籍和在线资源。这些资源将帮助你从基础知识到高级概念&am…