03 数据库查询模型查询多库查询《ThinkPHP6 入门到电商实战》

Posted 1_bit

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了03 数据库查询模型查询多库查询《ThinkPHP6 入门到电商实战》相关的知识,希望对你有一定的参考价值。

文章目录(更新中…)

01 thinkphp6的前期开发准备《ThinkPHP6 入门到电商实战》
02 控制器《ThinkPHP6 入门到电商实战》
03 数据库查询、模型查询、多库查询《ThinkPHP6 入门到电商实战》
04 tp6 的查数据《ThinkPHP6 入门到电商实战》
05 tp6 的数据添加《ThinkPHP6 入门到电商实战》
06 tp6 的数据更新(改)及删除 《ThinkPHP6 入门到电商实战》
07查询表达式 及 page分页、order 排序《ThinkPHP6 入门到电商实战》
08 获取器 withAttr、多连缀、whereRaw、事务、数据集《ThinkPHP6 入门到电商实战》

若是大一学子或者是真心想学习刚入门的小伙伴可以私聊我,若你是真心学习可以送你书籍,指导你学习,给予你目标方向的学习路线,无套路,博客为证。

一、数据库连接配置

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

根据配置文件中的信息进行数据库连接的编写:

在此我们可以预先通过可视化的数据库管理工具创建数据库:

随后可以在数据库中创建对应的表内容:

此时还差数据表数据,直接通过可视化环境对其进行编辑即可:

有了数据后即可对其进行操作,在此还需要提醒一下,在本地环境中,数据库连接还可以通过 .env 文件进行配置:

打开 .env 文件后在其中可以看到对应的配置项:

在此为了方便我们直接使用 config 下的 database.php 为其配置即可:

二、静态方式访问数据库

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

<?php
namespace app\\controller;
use think\\facade\\Db;
use app\\BaseController;

class Index extends BaseController

    public function index()
        $stu = Db::table('student')->select();
        return json($stu);
    

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

三、多个数据库操作

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

此时想要链接数据库 testdb1 那么需要在 config 下的 database.php 配置文件中新建一个数据库的链接配置项:

此时还需要在 env 文件中再设置一个链接数据库:

此时在控制器中创建一个方法:

public function db2()
        $stu1 = Db::connect('testdb1')->table('rank')->select();
        return json($stu1);
    

此时查看以上方法我们可以得知,使用 connect 指定对应的数据库即可对其进行操作。

随后访问该方法:

四、使用模型对数据库进行操作

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

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

随后编写这个 Rank文件:

<?php
namespace app\\model;
use think\\Model;

class Rank extends Model

    


在此要注意 namespace 、use 和 继承 Model 类,否则无法有 Model 特性。该类我们可以明显的知道是操作 testdb1 中的 Rank 表,此时在 index 文件中新增一个方法:

public function rankModel()
        $stu=Rank::select();
        return json($stu);
    

此时直接调用这个静态类使用 select 方法即可,那么此时就会直接操作 rank 表,但要注意在头部 use:

访问该方法我们发现数据库信息即可查询:

以上是关于03 数据库查询模型查询多库查询《ThinkPHP6 入门到电商实战》的主要内容,如果未能解决你的问题,请参考以下文章

07查询表达式 及 page分页order 排序《ThinkPHP6 入门到电商实战》

07查询表达式 及 page分页order 排序《ThinkPHP6 入门到电商实战》

02 控制器《ThinkPHP6 入门到电商实战》

02 控制器《ThinkPHP6 入门到电商实战》

01 thinkphp6的前期开发准备《ThinkPHP6 入门到电商实战》

01 thinkphp6的前期开发准备《ThinkPHP6 入门到电商实战》