$this->Modelname->setDataSource('default') と setDataSource('mydatasource') を使用して、2 つのソースをその場で切り替えることができます。
ただし、テーブルを使用する場合と使用しない場合を切り替える必要もあります。次のコードを使用して、テーブルのないソースと mysql を切り替えます。
public $oldSource = array();
public function setDbConfig($source = null, $useTable = null) {
$ds = $this->getDataSource();
if (method_exists($ds, 'flushMethodCache')) {
$ds->flushMethodCache();
}
if ($source) {
$this->oldSource = array('useTable' => $this->useTable, 'useDbConfig' => $this->useDbConfig);
$this->setDataSource($source);
if ($useTable !== null) {
$this->setSource($useTable);
}
} else {
if ($this->oldSource) {
$this->setDataSource($this->oldSource['useDbConfig']);
$this->setSource($this->oldSource['useTable']);
$this->oldSource = array();
}
}
}