用户
 找回密码
 入住 CI 中国社区
搜索
查看: 4091|回复: 3
收起左侧

[已解决] Doctrine如何连接多数据库?

[复制链接]
发表于 2010-7-27 18:43:30 | 显示全部楼层 |阅读模式
本帖最后由 lamtin 于 2010-7-28 11:49 编辑

ci+Doctrine的开发过程中,遇到这个问题:
同时使用多个数据库的时候,不知道怎么选择数据库了,例如:
$db['default']['hostname'] = "localhost";
$db['default']['username'] = "mytables";
$db['default']['password'] = "123456";
$db['default']['database'] = "test";

$db['users']['hostname'] = "localhost";
$db['users']['username'] = "usertable";
$db['users']['password'] = "123456";
$db['users']['database'] = "alluser";
 楼主| 发表于 2010-7-27 18:48:33 | 显示全部楼层
试了一下,好像是第二个值起作用
 楼主| 发表于 2010-7-28 11:47:45 | 显示全部楼层
哎,自己的问题自己解决吧
参考这里:
http://codeigniter.com/wiki/Using_Doctrine_with_Code_Igniter/

数据库链接改成这样:
$db['default']['dsn'] = $db['default']['dbdriver'] .
        '://' . $db['default']['username'] .
        ':' . $db['default']['password'].
        '@' . $db['default']['hostname'] .
        '/' . $db['default']['database'];
    Doctrine_Manager::connection($db['default']['dsn'],$db['default']['database']);
   
    $db['users']['dsn'] = $db['users']['dbdriver'] .
        '://' . $db['users']['username'] .
        ':' . $db['users']['password'].
        '@' . $db['users']['hostname'] .
        '/' . $db['users']['database'];
    Doctrine_Manager::connection($db['users']['dsn'],$db['users']['database']);

应该还可以改成循环的形式,以后再加数据库不用再改这里了

评分

参与人数 1威望 +3 收起 理由
lamtin + 3

查看全部评分

发表于 2010-12-6 17:07:46 | 显示全部楼层
谢谢楼主。估计用Doctrine不多。我用CI肯定会用这个,学学习收藏了!

本版积分规则