如何在cakephp中连接两个DB

时间:2014-01-04 06:10:23

标签: php mysql cakephp-2.0

我正在处理一个包含两个DB的项目,公共表位于主DB中,一些特定表位于单独的DB中。

我需要动态连接数据库,因为第二个数据库基于他们在站点中登录的用户。我们从DB获取详细信息,然后创建数据库设置并连接。

任何人都可以帮助这个概念。

2 个答案:

答案 0 :(得分:0)

请参阅此multiple db in cakephp

这可能对你有帮助......

答案 1 :(得分:0)

我使用过这种方法

function dbConnect($config = array()) {
    $config['datasource'] = 'test';
    ClassRegistry::init('ConnectionManager');
    // echo "<pre>";print_R($config);die;
    // echo $nds = $config['datasource'] . '_' . $config['dbname'];
    $nds = $config['datasource'] . '_' . $config['dbname'];
    $db =& ConnectionManager::getDataSource($config['datasource']);
    $dbprfx = $config['dbname'].'_';
    $db->setConfig(array('name' => $nds, 'database' => $config['dbname'],'prefix' => $dbprfx, 'persistent' => false));
    if($ds = ConnectionManager::create($nds, $db->config)) return $db->config;
    return false;

}

工作正常

感谢所有回复。