thinkphp5针对model层模型-独立配置数据库连接,实现连接多个数据库的方法

thinkphp5针对model层模型-独立配置数据库连接,实现链接多个数据库的方法

复制数据库配置文件database.php

将thinkphpwu/application/目录下的database.php 拷贝一份到thinkphpwu/application/extra目录,命名为:qipadatabase.php,这个命名,可以按照自己的需求修改
在这里插入图片描述

qipadatabase.php 代码如下:

<?php
    $database_config = [
        // 数据库类型
        'type' => 'mysql',
        // 服务器地址
        'hostname' => '127.0.0.1',
        // 数据库名
        'database' => 'thinkphpqipa',
        // 用户名
        'username' => 'root',
        // 密码
        'password' => '123456',
        // 端口
        'hostport' => '',
        // 连接dsn
        'dsn' => '',
        // 数据库连接参数
        'params' => [],
        // 数据库编码默认采用utf8
        'charset' => 'utf8',
        // 数据库表前缀
        'prefix' => 'ent_',
        // 数据库调试模式
        'debug' => true,
        // 数据库部署方式:0 集中式(单一服务器),1 分布式(主从服务器)
        'deploy' => 0,
        // 数据库读写是否分离 主从式有效
        'rw_separate' => false,
        // 读写分离后 主服务器数量
        'master_num' => 1,
        // 指定从服务器序号
        'slave_no' => '',
        // 是否严格检查字段是否存在
        'fields_strict' => true,
        // 数据集返回类型
        'resultset_type' => 'array',
        // 自动写入时间戳字段
        'auto_timestamp' => false,
        // 时间字段取出后的默认时间格式
        'datetime_format' => 'Y-m-d H:i:s',
        // 是否需要进行SQL性能分析
        'sql_explain' => false,
        // Builder类
        'builder' => '',
        // Query类
        'query' => '\\think\\db\\Query',
    ];
 
return $database_config;

修改数据库名称为:thinkphpqipa,数据库结构与thinkphpwu一模一样

修改要连接不同数据库的model层文件

在这里插入图片描述数据库中表信息
在这里插入图片描述

命名规范:
ent_admin_user 表名称,去除前缀,因为ent_是在配置文件中设置好的,不用单独写

AdminUser.php

<?php

namespace app\common\model;

use think\Model;

class AdminUser extends Model
{
	//单独配置数据库链接方式
    protected $connection = 'qipadatabase';
    //新增管理员信息入库
    public function add($params)
    {
        //判断是否为数组
        if (!is_array($params)) {
            //抛出异常
            exception('传递的数据不合法!');
        }
        //常用变量
        $params['status'] = 0;
        $params['create_time'] = date('Y-m-d H:i:s', time());

        //入库
        $this->allowField(true)->save($params);
        //返回主键id
        return $this->getLastInsID();
    }
}

测试入库

查询原thinkphpqipa 库中ent_admin_user 表的数据:
在这里插入图片描述
查询thinkphpwu 数据库中ent_admin_user表的数据:
在这里插入图片描述
我们在后台添加数据

在这里插入图片描述
在这里插入图片描述再去查询thinkphpqipa库中的ent_admin_user 表信息,则多了一条数据
在这里插入图片描述
而thinkphpwu 数据库中的ent_admin_user表中数据无变化

在这里插入图片描述
至此实现了thinkphp5不同model层连接不同的数据库功能

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值