ThinkPHP6连接多个数据库方法

在全局或者应用配置目录(不清楚配置目录位置的话参考配置章节)下面的database.php中(后面统称为数据库配置文件)配置下面的数据库参数:我们可以在数据库配置文件中定义多个连接信息return [;;;default;;;=;;

在全局或者应用配置目录(不清楚配置目录位置的话参考配置章节)下面的database.php中(后面统称为数据库配置文件)配置下面的数据库参数:

我们可以在数据库配置文件中定义多个连接信息

return [
   'default'   =>   'mysql',
   'connections'   =>   [
       'mysql'   =>   [
           // 数据库类型
           'type'       => 'mysql',
           // 服务器地址
           'hostname'   => '127.0.0.1',
           // 数据库名
           'database'   => 'thinkphp',
           // 数据库用户名
           'username'   => 'root',
           // 数据库密码
           'password'   => '',
           // 数据库连接端口
           'hostport'   => '',
           // 数据库连接参数
           'params'     => [],
           // 数据库编码默认采用utf8
           'charset'    => 'utf8',
           // 数据库表前缀
           'prefix'     => 'think_',
       ],
       'demo'   =>   [
           // 数据库类型
           'type'       => 'mysql',
           // 服务器地址
           'hostname'   => '127.0.0.1',
           // 数据库名
           'database'   => 'demo',
           // 数据库用户名
           'username'   => 'root',
           // 数据库密码
           'password'   => '',
           // 数据库连接端口
           'hostport'   => '',
           // 数据库连接参数
           'params'     => [],
           // 数据库编码默认采用utf8
           'charset'    => 'utf8',
           // 数据库表前缀
           'prefix'     => 'think_',
       ],
   ],
];

我们可以调用Db::connect方法动态配置数据库连接信息,例如:

\think\facade\Db::connect('demo')
      ->table('user')
	->find();

如果某个模型类里面定义了connection属性的话,则该模型操作的时候会自动按照给定的数据库配置进行连接,而不是配置文件中设置的默认连接信息,例如:

<?php
namespace app\index\model;
 
use think\Model;
 
class User extends Model
{
   protected $connection = 'demo';
}

本文标题为:ThinkPHP6连接多个数据库方法

基础教程推荐