当前位置:

首页 > 编程开发 > 如何在ThinkPHP6中使用AR操作数据库

如何在ThinkPHP6中使用AR操作数据库

Arrrt
Arrrt

Arrrt 是一款每日更新名画与赏析的艺术 App,适用于 iOS 和安卓平台。它更贴近日常 iOS 使用场景,处理高频操作时整体会更顺手一些。

立即下载
¥83
iOS/Android 2026-08-21
正版软件 Android IOS软件

ThinkPHP是一款流行的PHP开发框架,它提供了丰富的数据库操作功能。其中最为常用的是ActiveRecord模式(以下简称AR)。AR模式是一种面向对象的数据库操作模式,它将数据库表映射到了对象上,从而让我们更方便、更快速地操作数据库。本文将介绍如何在ThinkPHP6中使用AR操作数据库。配置数据库连接在使用AR之前,我们需要先配置好数据库连接信息

本文目录

    ThinkPHP是一款流行的PHP开发框架,它提供了丰富的数据库操作功能。其中最为常用的是Active Record模式(以下简称AR)。AR模式是一种面向对象的数据库操作模式,它将数据库表映射到了对象上,从而让我们更方便、更快速地操作数据库。本文将介绍如何在ThinkPHP6中使用AR操作数据库。

    1. 配置数据库连接

    在使用AR之前,我们需要先配置好数据库连接信息。在config目录下的database.php文件中,填写对应的数据库信息,如下所示:

    return [
        // 数据库类型
        'type'            => 'mysql',
        // 服务器地址
        'hostname'        => 'localhost',
        // 数据库名
        'database'        => 'test',
        // 用户名
        'username'        => 'root',
        // 密码
        'password'        => '',
        // 端口
        'hostport'        => '',
        // 数据库连接参数
        'params'          => [],
        // 数据库编码默认采用utf8
        'charset'         => 'utf8',
        // 数据库表前缀
        'prefix'          => '',
        // 数据库调试模式
        'debug'           => true,
    ];
    1. 创建模型类

    在ThinkPHP的AR中,每个表对应一个模型类,我们需要创建模型类并继承 hinkModel类。以“users”表为例,创建一个Users模型类:

    namespace appmodel;
    
    use thinkModel;
    
    class Users extends Model
    {
        // 定义用户表名
        protected $table = 'users';
    }

    在模型类中,我们可以定义一些与数据库相关的信息,包括表名、主键、字段信息等。这样做可以让操作更加方便。

    1. 查询数据

    在ThinkPHP的AR中,查询数据非常方便。我们只需要在模型类中调用相应的方法即可。例如,我们要查询所有的用户数据(相当于SELECT * FROM users),可以使用以下方式:

    $users = Users::select();

    使用select方法可以查询出所有的数据,默认是查询整张表的数据。除此之外,还可以使用where方法来指定查询条件,orderBy方法来指定排序条件等等。

    1. 新增数据

    新增数据也同样方便。我们只需要在模型类中创建一个实例,设置属性值并调用save方法即可。例如,我们要新增一条用户数据,可以使用以下方式:

    $user = new Users;
    $user->username = 'tom';
    $user->email = 'tom@example.com';
    $user->save();

    在上述代码中,我们首先创建了一个Users实例,然后设置了username和email属性值,最后调用了save方法将数据保存到数据库中。

    1. 更新数据

    更新数据也非常简单。我们只需要先查询出要更新的数据,然后设置其属性值并调用save方法即可。例如,我们要修改id为1的用户的用户名,可以使用以下方式:

    $user = Users::get(1);
    $user->username = 'jerry';
    $user->save();

    在上述代码中,我们首先通过get方法查询到了id为1的用户数据,然后修改了其username属性值,最后调用了save方法将数据更新到数据库中。

    1. 删除数据

    删除数据同样非常简单。我们只需要在模型类中调用相应的方法即可。例如,我们要删除id为1的用户数据,可以使用以下方式:

    $user = Users::get(1);
    $user->delete();

    在上述代码中,我们首先通过get方法查询到了id为1的用户数据,然后调用了delete方法将数据从数据库中删除。

    综上所述,AR模式是一种非常方便的操作数据库的方式,它将数据库表映射到了对象上,使我们更加方便、快速地进行数据库操作。在ThinkPHP6中,AR的使用也非常简单,我们只需要继承 hinkModel类,然后使用相应的方法即可进行增删改查等操作。

    本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系bd@zhengruan.com
    作者最新文章
    编程开发 AR thinkphp
    相关文章 更多
    thinkphp写接口代码的完整开发实例教程
    thinkphp写接口代码的完整开发实例教程

    本教程以ThinkPHP框架为例,通过文章管理API的具体业务场景,详细拆解路由定义、数据验证、控制器逻辑、数据模型操作、统一响应结构与全局异常处理的完整接口开发全流程。

    thinkphp项目部署指南详解服务器部署步骤
    thinkphp项目部署指南详解服务器部署步骤

    详细解析ThinkPHP项目在Linux服务器上的部署步骤,包括环境搭建、文件权限、Nginx配置及常见陷阱,提供可复制的代码示例与例外场景分析。

    隆创信息申请基于AR交互的多场景会议数据协同分析系统及方法专利,引导参会主体达成认知对齐
    隆创信息申请基于AR交互的多场景会议数据协同分析系统及方法专利,引导参会主体达成认知对齐

    扬州职业技术大学与隆创信息联合申请基于AR交互的多场景会议数据协同分析系统专利。通过构建四维业务认知基准库,为参会者生成认知孪生体,实时计算并可视化多维度认知偏差,引导达成认知对齐,会后数据沉淀形成闭环迭代。

    北京邮电大学申请面向AR应用的自适应传输调度方法专利,有效提升AR交互流畅度与资源利用效率
    北京邮电大学申请面向AR应用的自适应传输调度方法专利,有效提升AR交互流畅度与资源利用效率

    提出一种面向AR应用的自适应传输调度方法,构建客户端‑服务器双通信链路,通过Johnson调度算法优化传输与渲染作业序列,结合多线程异步加载和智能清晰度管理,实现闭环动态重调度,有效提升交互流畅度与资源利用效率。

    为什么 TP6.0 模型关联为空?with 预加载与查询作用域的使用【ORM】
    为什么 TP6.0 模型关联为空?with 预加载与查询作用域的使用【ORM】

    ThinkPHP6.0模型关联返回null的常见原因包括:with闭包遗漏外键和主键字段、嵌套预加载语法不兼容低版本、关联方法内部误用with或field导致数据失控,以及全局作用域与软删除未显式处理。通过检查SQL日志、显式声明关键字段、升级版本或改用正确语法、清理关联方法中的查询条件即可解决。

    TP6.0 构建支持断点续传的超大附件上传服务【分片】
    TP6.0 构建支持断点续传的超大附件上传服务【分片】

    在ThinkPHP6.0中实现支持断点续传的超大附件上传,采用分片上传方案。前端按2MB切片并生成唯一chunkId,通过GET请求校验已传分片,用localStorage持久化上传状态。后端控制器接收分片存储,创建upload_status表管理进度,合并时加文件锁并校验MD5,确保生产环境下的可靠性与性能。

    thinkphp排序怎么实现动态排序 开发技巧解析
    thinkphp排序怎么实现动态排序 开发技巧解析

    动态排序时,order()应置于查询链式调用中且必须在paginate()之前;字段和方向需通过白名单硬校验,使用数组语法防SQL注入;分页调用appends()传递参数;多字段排序用关联数组,确保安全稳定。

    TP6.0 复杂业务逻辑下事务嵌套的回滚陷阱【DBA】
    TP6.0 复杂业务逻辑下事务嵌套的回滚陷阱【DBA】

    在复杂业务逻辑中,事务嵌套的回滚问题一直是ThinkPHP开发者容易踩的坑,尤其是TP6.0版本。先说核心结论:TP6.0并不支持真正意义上的嵌套事务。很多人以为调用两次Db::transaction()就能在内部自动管理回滚,实际上这只是一层“伪装”——内层事务的提交或回滚操作会被直接忽略,异常也

    thinkphp排序怎么实现倒序排列 教程简单易懂
    thinkphp排序怎么实现倒序排列 教程简单易懂

    ThinkPHP 实现倒序排列,说穿了就是 order() 方法配合 desc 方向,一句话的事儿,根本不需要什么复杂的循环或额外逻辑。 来看看最直接的方式:用 order('字段名 desc') 搞定。这招的好处是数据库层直接干活,效率高,逻辑也清晰。比如你想让文章列表按照发布时间从新到旧排,那就

    TP5.1 项目接入 LDAP 实现后台管理员统一认证【企业】
    TP5.1 项目接入 LDAP 实现后台管理员统一认证【企业】

    在企业系统逐渐转向统一身份认证的背景下,ThinkPHP 5.1 项目接入 LDAP 实现后台管理员统一认证,是不少团队正在推进的标准化改造。核心思路并不复杂——把框架默认基于数据库的账号校验逻辑彻底换掉,让登录请求直接交给企业 LDAP 目录服务来完成验证。说白了,不是简单改个密码字段,而是要重构

    查看更多
    精品专题 更多
    装机必备
    装机必备

    正软商城装机必备专区,精选办公、浏览器、安全防护、影音播放、压缩解压、设计创作和系统工具等电脑常用正版软件,帮助用户快速完成新电脑软件配置。

    Windows
    Windows

    正软商城Windows软件专区,汇集适用于Windows电脑的办公、设计、安全防护、影音播放、开发工具和系统优化软件,提供软件介绍、系统要求、正版授权及购买下载服务。

    PDF教程
    PDF教程

    正软商城PDF教程频道提供PDF编辑、转换、合并、拆分、压缩及格式处理方法,同时介绍常用PDF软件和工具的使用技巧。

    Mac软件 更多
    讯飞智作 网页版
    讯飞智作 网页版
    Windows/ macOS/ Linux

    讯飞智作是一款基于语音合成技术、虚拟人驱动技术与数字人形象声音构建能力的 AI 数字人音视频创作平台。

    火山引擎 网页版
    火山引擎 网页版
    Windows/ macOS/ Linux

    火山引擎是字节跳动旗下企业级云与AI服务平台。聚焦大模型核心能力,依托字节自研豆包多模态大模型,凭借火山方舟一站式平台,提供模型精调、推理部署、智能应用搭建等全链路服务,结合高性能AI算力,助力各行业快速落地大模型数字化与智能化应用。

    Aperty macOS版
    Aperty macOS版
    macOS

    Aperty 是 Skylum 推出的 AI 人像修图软件,支持自然肤质修饰、瑕疵处理、面部与身体调整、预设及批量同步。

    WINDOWS 更多
    讯飞智作 网页版
    讯飞智作 网页版
    Windows/ macOS/ Linux

    讯飞智作是一款基于语音合成技术、虚拟人驱动技术与数字人形象声音构建能力的 AI 数字人音视频创作平台。

    火山引擎 网页版
    火山引擎 网页版
    Windows/ macOS/ Linux

    火山引擎是字节跳动旗下企业级云与AI服务平台。聚焦大模型核心能力,依托字节自研豆包多模态大模型,凭借火山方舟一站式平台,提供模型精调、推理部署、智能应用搭建等全链路服务,结合高性能AI算力,助力各行业快速落地大模型数字化与智能化应用。

    PixTV 网页版
    PixTV 网页版
    Windows

    PixTV 是一款在浏览器中使用的 AI 视觉内容创作平台,提供图片、视频、音频、文字生成、AI 分镜、局部重绘、提示词反推和无限画布等工具,适合短剧、漫剧、广告及社交媒体内容制作。

    即将离开本站
    您即将前往第三方网站,请确认是否继续?