多实例数据库连接 bug

浏览:347 发布日期:2017/06/24 分类:ThinkPHP5专区
应用场景
==========================================
两mysql实例,连接配置不相同,数据表前缀不相同
在使用model查询数据时,表前缀一直使用的默认数据库连接配置
实例1(默认)    // 数据库类型
    'type'            => 'mysql',
    // 服务器地址
    'hostname'        => '127.0.0.1',
    // 数据库名
    'database'        => 'aaaaaa',
    // 用户名
    'username'        => 'root',
    // 密码
    'password'        => '123456',
    // 端口
    'hostport'        => '',
    // 连接dsn
    'dsn'             => '',
    // 数据库连接参数
    'params'          => [],
    // 数据库编码默认采用utf8
    'charset'         => 'utf8',
    // 数据库表前缀
    'prefix'          => 'aa_',
实例2    // 数据库类型
    'type'            => 'mysql',
    // 服务器地址
    'hostname'        => '127.0.0.1',
    // 数据库名
    'database'        => 'bbbbbb',
    // 用户名
    'username'        => 'root',
    // 密码
    'password'        => '123456',
    // 端口
    'hostport'        => '',
    // 连接dsn
    'dsn'             => '',
    // 数据库连接参数
    'params'          => [],
    // 数据库编码默认采用utf8
    'charset'         => 'utf8',
    // 数据库表前缀
    'prefix'          => 'bb_',
在传递数据库配置think\Model正常,但在think\Query时获取配置就错误了
Query的构造函数是就已初始化了prefix,发现在执行connect时并未重置表前缀


在连接实例2bbbbbb查询数据时
model('xxxxx')->select();
生成的mysql表前缀还是aa_






最佳答案
评论( 相关
后面还有条评论,点击查看>>