相关疑难解决方法(0)

CakePHP交换机数据库(使用相同的数据源)在运行中?

我试图构建一个小功能,可以在控制器中使用,即时切换数据库,我必须只使用一个数据源.

在我的database.php上:

function __construct() {

    $server = Configure::read('Server');

    if(!empty($server['database'])) $this->local['database'] = $server['database'];
    $this->default = $this->{$server['datasource']};

}
Run Code Online (Sandbox Code Playgroud)

用于根据服务器配置切换数据库.它工作得很好.

我试图建立这个:

/**
 * Connects to specified database
 *
 * @param array $config Server config to use {datasource:?, database:?}
 * @return array db->config on success, false on failure
 * @access public
 */
function dbConnect($config = array()) {
    ClassRegistry::init('ConnectionManager');
    //debug($config['datasource']);
    //$dbInstance =& ConnectionManager::getInstance();
    //$dbInstance->config->{$config['datasource']}['database'] = $config['database'];

    $db =& ConnectionManager::getDataSource($config['datasource']);
    $db->disconnect();
    $db->cacheSources = false;
    $db->config['database'] = $config['database'];
    $db->config['persistent'] = false;
    debug($db->config);
    $db->connect();
    if(!$db->isConnected()) {
        $this->error('!$db->isConnected()');
        return …
Run Code Online (Sandbox Code Playgroud)

php database cakephp cakephp-1.3

7
推荐指数
1
解决办法
2万
查看次数

在cakephp 3中动态更改数据库连接

我正在尝试动态更改cakephp 3中使用的数据库连接.每一个回答这个问题,我发现指的CakePHP 2( 3 实例).

这家伙找到了cakephp 3的解决方案,该解决方案具有有限数量的数据库,并且具体定义哪个数据库将由哪个表文件使用.

问题是我想为每个新用户创建一个新数据库,并在他登录时更改为他的数据库.我事先无法知道将存在的所有数据库,将其写入config/app.php文件中.

我无法在每个/ src/Model/Table文件中设置默认数据库,因为每个数据库中的表都相同.

php mysql database cakephp cakephp-3.0

1
推荐指数
1
解决办法
3958
查看次数

标签 统计

cakephp ×2

database ×2

php ×2

cakephp-1.3 ×1

cakephp-3.0 ×1

mysql ×1