Thinkphp 使用Model来增删改查

这里写目录标题

一、Model部分

php 复制代码
<?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']);
    }
}

二、增加

php 复制代码
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("添加失败,请稍后再试");
   }
}

三、查询

php 复制代码
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("查询失败,请稍后再试");
     }
 }

四、删除

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

五、修改

php 复制代码
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('修改成功');
    }
相关推荐
耍酷的魔镜20 分钟前
谈谈如何使用Netty开发实现高性能的RPC服务器
服务器·网络协议·rpc
志栋智能33 分钟前
超自动化安全中的威胁狩猎
运维·安全·自动化
↘"LYong1 小时前
旧版 CentOS 安装 Docker 完整指南(附国内镜像加速)
linux·运维·docker
Elastic 中国社区官方博客2 小时前
Elastic 在 Everest Group 企业搜索产品 PEAK Matrix® 评估 2026 中被评为领导者
大数据·运维·人工智能·elasticsearch·搜索引擎·ai·全文检索
程序员在囧途2 小时前
likeadmin-api API 中转站怎么做统一报价?从 /pricing、/user/balance 到 task_id 回执的落地方法
运维·服务器·数据库·likeadmin-api·api中转站·token计费
cookies_s_s2 小时前
C++ 字符串动态创建对象 -- 工厂模式、自动注册、模板递归动态调用
服务器·开发语言·c++
想你依然心痛3 小时前
Linux用户空间与内核空间通信:netlink、ioctl、mmap 零拷贝与性能对比
linux·运维·服务器
沉静的小伙3 小时前
在微服务中使用领域事件
java·运维·微服务
程序员在囧途3 小时前
likeadmin-api API 算力超市怎么做供应商切换?统一鉴权、task_id 和 callback_url 才能稳交付
java·服务器·数据库·开放api·likeadmin-api·api算力超市
wenzhangli73 小时前
oodAgent 4.0 Skills分布式调度 — 从Code Agent实战看自主维护的Agent网络
运维·网络·人工智能·自动化