• Welcome to Journal web site.

我是 PHP 程序员

- 开发无止境 -

Next
Prev

ThinkPHP6连接多个数据库方法

Data: 2017-04-16 23:37:59Form: JournalClick: 15

在全局或者应用配置目录(不清楚配置目录位置的话参考配置章节)下面的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';
}
Name:
<提交>