コントローラ内の2つの異なるデータベースからデータを取得しようとしています
app / Controller / UsersController.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'));
}
これにより、2つの異なるソースからデータを正常に取得できますが、問題は、これら2つのデータベースに同じパスワードを設定する必要があることです。そうしないと、機能しません。
私はここや他のサイトで見つけた他の解決策を試しました。お気に入り:
変更
$this->User->useDbConfig = 'test'
し$this->User->cacheQueries = false
ても同じデータセットが得られます。ConnectionManager::getDataSource()
andsetConfig()
、、、、create()
などdrop()
を使用setDataSource()
します。これらはいずれも機能せず、存在しないものもあります。
どんな助けでも大歓迎です!2つの類似したアプリケーション(別名2つのデータベース)の同じコードベースが必要なため。
ありがとう!