修改多数据库连接表支持多前缀

浏览:3732 发布日期:2014/01/15 分类:技术分享 关键字: 多数据库连接 多前缀
项目需要多数据库连接时,因为库的表前缀不同,导致框架无法自动切换前缀查询失败。只好自己修改

---------------------------------------------------------------------

修改核心库model.class.php

在构造方法中找到设置表前缀端// 设置表前缀
        if(is_null($tablePrefix)) {// 前缀为Null表示没有前缀
            $this->tablePrefix = '';
        }elseif('' != $tablePrefix) {
            $this->tablePrefix = $tablePrefix;
        }else{
            $this->tablePrefix = $this->tablePrefix?$this->tablePrefix:C('DB_PREFIX');
        }
修改为// 设置表前缀
        if(is_null($tablePrefix)) {// 前缀为Null表示没有前缀
            $this->tablePrefix = '';
        }elseif('' != $tablePrefix) {
            $this->tablePrefix = $tablePrefix;
        }elseif($this->connection){
            $config = C($this->connection);
            $this->tablePrefix = $config['DB_PREFIX'];
        }else{
            $this->tablePrefix = $this->tablePrefix?$this->tablePrefix:C('DB_PREFIX');
        }
配置config.php里面添加表的前缀

'testdb' => array(
'DB_TYPE' => 'mysql',
'DB_USER' => 'root',
'DB_PWD' => '123456',
'DB_HOST' => '127.0.0.1',
'DB_PORT' => '3306',
'DB_NAME' => 'test',
'DB_PREFIX'=> 'test_'
)

其他按照官方手册就可以查询即可。
最佳答案
评论( 相关
后面还有条评论,点击查看>>