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'=>'',
impreza wrx
光和影的传说// 连接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
sce
<?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层连接不同的数据库功能