【发布时间】:2018-01-21 22:46:41
【问题描述】:
在控制器中,我想更改我的默认数据库连接,以便我可以访问不同的数据库。以前可以的,我在AppController中创建了一个函数,需要的时候在每个控制器中调用,包含以下内容:
ConnectionManager::config('database', [
'className' => 'Cake\Database\Connection',
'driver' => 'Cake\Database\Driver\Mysql',
'persistent' => false,
'host' => 'localhost',
'username' => $username,
'password' => $password,
'database' => $database,
'encoding' => 'utf8',
'timezone' => 'UTC',
'cacheMetadata' => true,
]);
ConnectionManager::alias('database', 'default');
我创建了一个新的数据库连接,将其命名为“数据库”,并为该连接命名为默认连接,这样将使用该连接而不是默认连接。但是,当我打印时
$this->{$modelName}->connection()->config();
它仍然提供默认连接。一个错误说该表不存在,确认我不在新连接的数据库中。
【问题讨论】:
标签: php database cakephp database-connection config