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

news/2024/11/15 6:08:40 标签: 数据库, ThinkPHP6

一、数据库连接配置

  1.  本地测试

    直接在.env中修改,不用去config/database.php中修改

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

二、静态方式访问数据库

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

<?php

namespace 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.niftyadmin.cn/n/5752788.html

相关文章

云运维基础

笔记内容侵权联系删除 云审计&#xff08;CTS&#xff09; 云审计云上资源变更均可被管控&#xff0c;实时系统性记录所有人的操作&#xff0c;无需手工统计。云审计服务支持将操作记录合并&#xff0c;周期性地生成事件文件实时同步转存到OBS存储桶&#xff0c;帮助用户实现…

ORA-00257: archiver error

ORA-00257: archiver error 归档满问题&#xff1a; 报错&#xff1a; SQL> conn admin/admin ERROR: ORA-00257: archiver error. Connect internal only, until freed. Warning: You are no longer connected to ORACLE. 检查空间&#xff1a; SQL> select name, tot…

uniapp h5 实现扫扫二维码

一、实现思路&#xff08;网上搜的&#xff09; 1.使用h5的navigator.mediaDevices.getUserMedia() 调起相机获取视频流 2.使用canvas截取二维码图片 3.使用qrcode解析二维码 二、源码 qrcode.js // qrcode.js var _aa {}; _aa._ab function (f, e) {var d qrcode.wid…

GNU/Linux - tar命令

1&#xff0c;Online GNU manual tar命令是一个古老的命令&#xff0c;在线帮助手册地址&#xff1a; GNU tar manual - GNU Project - Free Software Foundation GNU tar 1.35 这么一个简单命令&#xff0c;上面的在线手册却是非常的长。 2&#xff0c;Man命令 读取本地的man…

基于SpringBoot智慧社区管理平台

作者简介&#xff1a;Java领域优质创作者、CSDN博客专家 、CSDN内容合伙人、掘金特邀作者、阿里云博客专家、51CTO特邀作者、多年架构师设计经验、多年校企合作经验&#xff0c;被多个学校常年聘为校外企业导师&#xff0c;指导学生毕业设计并参与学生毕业答辩指导&#xff0c;…

分布式光伏智慧平台建设现场 系统集成商如何盈利

在当今能源转型的大背景下&#xff0c;分布式光伏作为一种清洁、可再生的能源形式&#xff0c;正得到越来越广泛的应用。而分布式光伏运维管理系统的出现&#xff0c;则为分布式光伏电站的高效、稳定运行提供了有力保障。 一、分布式光伏的发展现状 随着环保意识的不断提高和…

nrm的安装及使用

nrm的安装及使用 NRM&#xff08;NPM Registry Manager&#xff09;是一个用于快速切换npm&#xff08;Node Package Manager&#xff09;源的工具。npm是Node.js的包管理工具&#xff0c;用于安装、发布、管理Node.js包。由于网络原因&#xff0c;直接使用npm官方源&#xff…

【数据库系列】Spring Data Neo4j Cypher 查询使用进阶指南

在 Neo4j 中&#xff0c;Cypher 查询语句并不像 MySQL 的 mapper XML 那样直接支持拆分和组织。然而&#xff0c;你可以使用一些策略来管理和重用 Cypher 查询&#xff0c;使其更易于维护和组织。以下是几种方法&#xff1a; 1. 使用 Spring Data Neo4j 的 Repository 接口 通…