我正在尝试从控制器中的两个不同数据库中获取数据
应用程序/控制器/用户控制器.php
我的数据库连接在database.php中声明
$default = array(
...
'database' => 'test'
...
);
$test = array(
...
'database' => 'test1'
...
);
在我的display()
行动中:
public function display() {
$this->set('defaultUsers', $this->User->find('all'));
$this->User->schemaName = 'test1';
$this->User->cacheQueries = false;
$this->set('testUsers', $this->User->find('all'));
}
这将使我能够成功地从两个不同的来源获取数据,但是问题是这两个数据库必须具有相同的密码,否则它将无法工作。
我已经尝试过在这里和其他网站找到的其他解决方案。喜欢:
改变
$this->User->useDbConfig = 'test'
并且$this->User->cacheQueries = false
仍然会给我相同的数据集;使用
ConnectionManager::getDataSource()
andsetConfig()
,create()
,drop()
,setDataSource()
等。这些都不起作用,有些甚至不再存在。
任何帮助将不胜感激!因为我需要为两个类似的应用程序(也就是两个数据库)使用相同的代码库。
谢谢!