ThinkPHP 框架下 BaseModel 类整理

2024-06-07 17:38

本文主要是介绍ThinkPHP 框架下 BaseModel 类整理,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

<?php
namespace Common\Model;
use Think\Model;
/**
 * User: moTzxx
 * 建议:1.对于TinkPHP 框架,model统一放在/Application/Common/Model/目录下
 *      2.所有的模型都继承BaseModel
 *      3.如果没有特殊需求,可直接调用addData、editData、deleteData;
        4.如果有特殊需求的,就在某个表model中重新定义以上方法覆盖掉BaseModel中的
 *      5.统一用D函数而不要用M函数实例化model
 */
class BaseModel extends Model
{
    /**
     * 添加数据
     * @param    array    $data    数据
     * @return   integer           新增数据的id
     */
    public function addData($data){
        $id = $this
            ->add($data);
        return $id;
    }

    /**
     * 修改数据
     * @param    array    $where    where语句数组形式
     * @param    array    $data   修改的数据
     * @return    boolean         操作是否成功
     */
    public function editData($where,$data){
        $res = $this
            ->where($where)
            ->save($data);
        return $res;
    }

    /**
     * 删除数据
     * @param    array    $where    where语句数组形式
     * @return   boolean          操作是否成功
     */
    public function deleteData($where){
        $res = $this
            ->where($where)
            ->delete();
        return $res;
    }

    /**
     * 根据where条件 获取信息
     * @param $where where语句数组形式
     * @return mixed 一个二维数组
     * find()返回一个一维数组,select()返回一个二维数组
     */
    public function getData($where){
        $res = $this
            ->field('*')
            ->where($where)
            ->select();
        return $res;
    }

    /**
     * 根据主键获取表中的信息
     * @param $id 主键ID
     * @return mixed 一个一维数组
     * 固定按照 field、alias、join、where、order、limit 、select ;
     */
    public function getDataById($id){
        $res = $this
            ->field('t.*')
            ->alias('t')
            ->join('__USER__ u on u.id = t.uid')
            ->where('t.id = '.$id)
            ->find();
        return $res;
    }
}

这篇关于ThinkPHP 框架下 BaseModel 类整理的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1039855

相关文章

Spring IoC 容器的使用详解(最新整理)

《SpringIoC容器的使用详解(最新整理)》文章介绍了Spring框架中的应用分层思想与IoC容器原理,通过分层解耦业务逻辑、数据访问等模块,IoC容器利用@Component注解管理Bean... 目录1. 应用分层2. IoC 的介绍3. IoC 容器的使用3.1. bean 的存储3.2. 方法注

MySQL 删除数据详解(最新整理)

《MySQL删除数据详解(最新整理)》:本文主要介绍MySQL删除数据的相关知识,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录一、前言二、mysql 中的三种删除方式1.DELETE语句✅ 基本语法: 示例:2.TRUNCATE语句✅ 基本语

Spring 框架之Springfox使用详解

《Spring框架之Springfox使用详解》Springfox是Spring框架的API文档工具,集成Swagger规范,自动生成文档并支持多语言/版本,模块化设计便于扩展,但存在版本兼容性、性... 目录核心功能工作原理模块化设计使用示例注意事项优缺点优点缺点总结适用场景建议总结Springfox 是

Python变量与数据类型全解析(最新整理)

《Python变量与数据类型全解析(最新整理)》文章介绍Python变量作为数据载体,命名需遵循字母数字下划线规则,不可数字开头,大小写敏感,避免关键字,本文给大家介绍Python变量与数据类型全解析... 目录1、变量变量命名规范python数据类型1、基本数据类型数值类型(Number):布尔类型(bo

Python的端到端测试框架SeleniumBase使用解读

《Python的端到端测试框架SeleniumBase使用解读》:本文主要介绍Python的端到端测试框架SeleniumBase使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全... 目录SeleniumBase详细介绍及用法指南什么是 SeleniumBase?SeleniumBase

MyBatis Plus 中 update_time 字段自动填充失效的原因分析及解决方案(最新整理)

《MyBatisPlus中update_time字段自动填充失效的原因分析及解决方案(最新整理)》在使用MyBatisPlus时,通常我们会在数据库表中设置create_time和update... 目录前言一、问题现象二、原因分析三、总结:常见原因与解决方法对照表四、推荐写法前言在使用 MyBATis

MySQL复杂SQL之多表联查/子查询详细介绍(最新整理)

《MySQL复杂SQL之多表联查/子查询详细介绍(最新整理)》掌握多表联查(INNERJOIN,LEFTJOIN,RIGHTJOIN,FULLJOIN)和子查询(标量、列、行、表子查询、相关/非相关、... 目录第一部分:多表联查 (JOIN Operations)1. 连接的类型 (JOIN Types)

C++ HTTP框架推荐(特点及优势)

《C++HTTP框架推荐(特点及优势)》:本文主要介绍C++HTTP框架推荐的相关资料,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录1. Crow2. Drogon3. Pistache4. cpp-httplib5. Beast (Boos

JAVA数组中五种常见排序方法整理汇总

《JAVA数组中五种常见排序方法整理汇总》本文给大家分享五种常用的Java数组排序方法整理,每种方法结合示例代码给大家介绍的非常详细,感兴趣的朋友跟随小编一起看看吧... 目录前言:法一:Arrays.sort()法二:冒泡排序法三:选择排序法四:反转排序法五:直接插入排序前言:几种常用的Java数组排序

SpringBoot基础框架详解

《SpringBoot基础框架详解》SpringBoot开发目的是为了简化Spring应用的创建、运行、调试和部署等,使用SpringBoot可以不用或者只需要很少的Spring配置就可以让企业项目快... 目录SpringBoot基础 – 框架介绍1.SpringBoot介绍1.1 概述1.2 核心功能2