您可以使用$ this-> Modelname-> setDataSource('default')和setDataSource('mydatasource')在兩個來源之間切換。
但你還需要使用一個表,而不是使用表之間改變,我用下面的代碼來無表源之間切換,和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();
}
}
}