Listening to the Words

thinkphp5 多个数据库模型链接

thinphp 5 如何在模型里设置多个数据库

直接在模型里复写 $connection 属性可以是数组也可以是database配置名


    protected  $connection = 'database.db_center';

database.php

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

此时就可以以orm的方式使用了

点赞