thinkphp5.1操作多个数据库

将database.php里修改成

return [


   'db_config1' => [
       // 数据库类型
       'type'        => 'mysql',
       // 服务器地址
       'hostname'    => '127.0.0.1',
       // 数据库名
       'database'    => 'db1',
       // 数据库用户名
       'username'    => 'root',
       // 数据库密码
       'password'    => 'root',
       // 数据库编码默认采用utf8
       'charset'     => 'utf8',
       // 数据库表前缀
       //'prefix'      => 'think_',
   ],
   'db_config2' => [
       // 数据库类型
       'type'        => 'mysql',
       // 服务器地址
       'hostname'    => '127.0.0.1',
       // 数据库名
       'database'    => 'db2',
       // 数据库用户名
       'username'    => 'root',
       // 数据库密码
       'password'    => 'root',
       // 数据库编码默认采用utf8
       'charset'     => 'utf8',
       // 数据库表前缀
       //'prefix'      => 'think_',
   ],
   // 端口
   'hostport'        => '',
   // 连接dsn
   'dsn'             => '',
   // 数据库连接参数
   'params'          => [],
   // 数据库编码默认采用utf8
  // 'charset'         => 'utf8',
   // 数据库表前缀
   //'prefix'          => '',
   // 数据库调试模式
   'debug'           => true,
   // 数据库部署方式:0 集中式(单一服务器),1 分布式(主从服务器)
   'deploy'          => 0,
   // 数据库读写是否分离 主从式有效
   'rw_separate'     => false,

使用控制器操作多个数据库

//使用Db::connect()
Db::connect('db_config2')->name('表名')->where(条件)->find()
Db::connect('db_config1')->name('表名')->where(条件)->find()

使用模型操作不同数据库里的不同的表

//创建模型后使用protected $connection 
<?php
namespace app\index\Model;
use think\Model;
class User extends Model
{
   protected $connection ='db_config2';
}
//创建模型后使用protected $connection 
<?php
namespace app\index\Model;
use think\Model;
class User extends Model
{
   protected $connection ='db_config1';
}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容