thinkphp6 --数据库操作 增删改查

一、数据库连接配置

如果是本地测试,它会优先读取 .env 配置,然后再读取 database.php 的配置;
如果禁用了 .env 配置,则会读取数据库连接的默认配置:

# .env文件,部署服务器,请禁用我
我们可以在 config\database.php 配置文件中设置与数据库的连接信息:
如果是一般性数据库连接,在 ‘’connections‘’ 配置区设置即可;

1.1本地测试,直接在.env中修改,不用去config/database.php中修改

1.2正式环境,在部署环境下数据库连接在 config 目录下的 database.php 文件中进行配置

二、静态方式访问数据库

在tp6 中可以使用 Db 访问数据库,例如:

<?phpnamespace app\controller;use app\BaseController;
use think\facade\Db;class Index extends BaseController
{public function index(){$stu = Db::table('hkcms_auth_rule')->select();return json($stu);}}

以上代码中 use 了 use think\facade\Db; 随后在 index 方法中 使用 Db 指定数据表对其进行 select 操作,最后结果如下:

三、多个数据库操作

此时我们还有一个数据库数据需要获取,那么如何连接其他数据库呢?假设有一数据库如下:

四、使用模型对数据库进行操作
在 tp6 中,框架制定了一个模型类让我们对其使用,通过模型类可以减少重复的代码,并且更加简洁的对数据库进行操作,使用模型对数据库表进行操作时,这个模型即代表了所需要操作的数据库表。

首先在 controller 同级目录下创建一个 model 文件夹,在其中创建对应数据库的模型文件:

三、增删改查

新增的控制器路径为 app\controller\CURD.php

  1.  引入Db库

use think\facade\Db;

<?php
namespace app\controller;
use app\BaseController;
use think\facade\Db;class CURD extends BaseController
{public function select(){// 查所有$result = Db::name('hkcms_admin')->select()->toArray();print_r($result);print_r('<br/>');print_r('<br/>');// 查一个 (多个条件用多个where)$result = Db::name('hkcms_admin')->where('username', 'admin')->where('id', '>', 0)->select()->toArray();var_dump($result);}}
  • 查询使用select(),返回的是对象,所以要用->toArray()转成数组

  • 查询条件使用where('字段名','查询表达式','查询条件'),缺省'查询表达式'表示等于

  • 多个where可以连接

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/60586.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【蓝桥等考C++真题】蓝桥杯等级考试C++组第13级L13真题原题(含答案)-最大的数

CL13 最大的数(20 分) 输入一个有 n 个无重复元素的整数数组 a&#xff0c;输出数组中最大的数。提示&#xff1a;如使用排序库函数 sort()&#xff0c;需要包含头文件#include 。输入&#xff1a; 第一行是一个正整数 n(2<n<20)&#xff1b; 第二行包含 n 个不重复的整…

让Git走代理

有时候idea提交代码或者从github拉取代码&#xff0c;一直报错超时或者:Recv failure: Connection was reset,下面记录一下怎么让git走代理从而访问到github。 1.打开梯子 2.打开网络和Internet设置 3.设置代理 记住这个地址和端口 4.打开git bash终端 输入以下内容 git c…

vivo 游戏中心包体积优化方案与实践

作者&#xff1a;来自 vivo 互联网大前端团队- Ke Jie 介绍 App 包体积优化的必要性&#xff0c;游戏中心 App 在实际优化过程中的有效措施&#xff0c;包括一些优化建议以及优化思路。 一、包体积优化的必要性 安装包大小与下载转化率的关系大致是成反比的&#xff0c;即安装…

Struts扫盲

Struts扫盲 这里的struts是struts1。以本文记录我的那些复习JavaEE的痛苦并快乐的晚上 Struts是什么 框架的概念想必大家都清楚&#xff0c;框架即“半成品代码”&#xff0c;是为了简化开发而设计的。一个项目有许多分层&#xff0c;拿一个MVC架构的Web应用来说&#xff0c;有…

【AiPPT-注册/登录安全分析报告-无验证方式导致安全隐患】

前言 由于网站注册入口容易被机器执行自动化程序攻击&#xff0c;存在如下风险&#xff1a; 暴力破解密码&#xff0c;造成用户信息泄露&#xff0c;不符合国家等级保护的要求。短信盗刷带来的拒绝服务风险 &#xff0c;造成用户无法登陆、注册&#xff0c;大量收到垃圾短信的…

自动驾驶系列—从数据采集到存储:解密自动驾驶传感器数据采集盒子的关键技术

&#x1f31f;&#x1f31f; 欢迎来到我的技术小筑&#xff0c;一个专为技术探索者打造的交流空间。在这里&#xff0c;我们不仅分享代码的智慧&#xff0c;还探讨技术的深度与广度。无论您是资深开发者还是技术新手&#xff0c;这里都有一片属于您的天空。让我们在知识的海洋中…

【月之暗面kimi-注册/登录安全分析报告】

前言 由于网站注册入口容易被机器执行自动化程序攻击&#xff0c;存在如下风险&#xff1a; 暴力破解密码&#xff0c;造成用户信息泄露&#xff0c;不符合国家等级保护的要求。短信盗刷带来的拒绝服务风险 &#xff0c;造成用户无法登陆、注册&#xff0c;大量收到垃圾短信的…

时序预测 | 改进图卷积+informer时间序列预测,pytorch架构

时序预测 | 改进图卷积informer时间序列预测&#xff0c;pytorch架构 目录 时序预测 | 改进图卷积informer时间序列预测&#xff0c;pytorch架构预测效果基本介绍参考资料 预测效果 基本介绍 改进图卷积informer时间序列预测代码 CTR-GC卷积,informer&#xff0c;CTR-GC 图卷积…

从入门到精通:一文掌握 Dockerfile 的用法!(多阶段构建与缓存优化)

文章目录 📖 介绍 📖🏡 演示环境 🏡📒 Dockerfile基础用法 📒📝 什么是 Dockerfile?📝 Dockerfile 的常见指令🔖 构建指令🔖 命令指令🎈 完整示例:构建一个 Python Flask 应用🔖 1. 项目结构🔖 2. 编写 Dockerfile🔖 3. 构建和运行 Docker 镜像�…

Go语言开发基于SQLite数据库实现用户表修改接口(四)

背景 上一章 Go语言开发基于SQLite数据库实现用户表查询详情接口(三) 这一章我们实现用户表的修改接口 代码实现 mapper层 type UserMapper interface {UpdateById(user *model.User, id uint64) error}type userMapper struct { }func (m *userMapper) UpdateById(user *m…

【C++学习(35)】在Linux中基于ucontext实现C++实现协程(Coroutine),基于C++20的co_await 协程的关键字实现协程

文章目录 为什么使用协程协程的理解协程优势协程的原语操作yield 与 resume 是一个switch操作&#xff08;三种实现方式&#xff09;&#xff1a; 基于 ucontext 的协程基于 XFiber 库的操作1 包装上下文2 XFiber 上下文调度器2.1 CreateFiber2.2 Dispatch 基于C20的co_return …

844.比较含退格的字符串

java用 O&#xff08;1&#xff09;空间这个方法&#xff0c;容易挺多bug的… O&#xff08;1&#xff09;空间 #&#xff1a;删除前一个字符 》 从后面开始判断&#xff08;这样可以用跳过的思想&#xff09;不能使用两次 i- - 来处理 # 的操作&#xff0c;会造成误删了前面…

大数据实训室建设的必要性

一、大数据发展的背景 大数据作为当今信息技术领域的核心驱动力&#xff0c;正在深刻地改变着社会的各个方面。它不仅仅是指数据量庞大&#xff0c;更重要的是指数据的多样性、实时性和复杂性。随着云计算、物联网等技术的迅猛发展&#xff0c;大数据已成为推动经济社会发展的…

MyBatis——增删查改(XML 方式)

1. 查询 1.1. 简单查询 使用注解的方式主要是完成一些简单的增删查改功能&#xff0c;如果要实现复杂的 SQL 功能&#xff0c;还是建议使用 XML 来配置映射语句&#xff0c;将 SQL 语句写在 XML 配置文件中 如果要操作数据库&#xff0c;需要做以下的配置&#xff0c;与注解…

K8S如何基于Istio实现全链路HTTPS

K8S如何基于Istio实现全链路HTTPS Istio 简介Istio 是什么?为什么选择 Istio?Istio 的核心概念Service Mesh(服务网格)Data Plane(数据平面)Sidecar Mode(边车模式)Ambient Mode(环境模式)Control Plane(控制平面)Istio 的架构与组件Envoy ProxyIstiod其他组件Istio 的流量管…

51c大模型~合集44

我自己的原文哦~ https://blog.51cto.com/whaosoft/11884382 #DR4SR 最佳学生论文解读&#xff0c;中科大、华为诺亚&#xff1a;序列推荐新范式DR4SR 本工作由认知智能全国重点实验室 IEEE Fellow 陈恩红团队与华为诺亚方舟实验室完成。陈恩红教授团队深耕数据挖掘、机器学…

HCIP-快速生成树RSTP

一、RSTP是什么 STP&#xff08;Spanning Tree Protocol &#xff09;是生成树协议的英文缩写。该协议可应用于环路网络&#xff0c;通过一定的算法实现路径冗余&#xff0c;同时将环路网络修剪成无环路的树型网络&#xff0c;从而避免报文在环路网络中的增生和无限循环。 RS…

在Element Ui中支持从系统粘贴版中获取图片和PDF,Docx,Doc,PPT等文档

在上一篇中&#xff0c;我们单纯的实现了Ctrl V实现从粘贴版中获取图片信息&#xff0c;但是点击上传的时候会有个bug&#xff0c;就是点击文件上传的时候&#xff0c;会出现一个bug&#xff0c;这篇&#xff0c;我们将在上一篇的基础上进行完善&#xff0c;并支持从粘贴版中获…

《数据可视化技术》上机报告

一、实验目的及要求 掌握pyecharts数据可视化环境搭建以及pyecharts交互式基础图形的绘制。 &#xff08;1&#xff09;掌握pyecharts中初始配置项&#xff0c;系列配置项&#xff0c;全局配置项的配置方法。 &#xff08;2&#xff09;掌握pyecharts中条形图的绘制方法。 …

️虚拟机配置NAT和Bridge模式

虚拟机的网络配置 桥接 通过使用物理机网卡 具有单独ip NAT 把物理机为路由器进行上网 NAT模式&#xff1a; 所谓nat模式&#xff0c;就是虚拟系统会通过宿主机的网络来访问外网&#xff0c;而这里的宿主机相当于有两个网卡&#xff0c;一个是真实网卡&#xff0c;一个是虚拟…