Cakephp 如何在mysql中使用soap数据源

Cakephp 如何在mysql中使用soap数据源,cakephp,datasource,cakephp-2.0,Cakephp,Datasource,Cakephp 2.0,我已经创建了一个DataSource,用于连接到WSDL服务器并发布/获取数据 但是,我不知道如何在控制器中使用它?使用MySQL数据库(我的意思是我需要两个数据库,一个soap和一个数据库。) 如果我把它放在我的模型中,它将使用我的数据源;但我认为它不会使用mysql表…: public $useTable = false; public $useDbConfig = 'mydatasource'; 如何操作?您可以使用$this->Modelname->setDataSource('def

我已经创建了一个
DataSource
,用于连接到
WSDL
服务器并发布/获取数据

但是,我不知道如何在控制器中使用它?使用MySQL数据库(我的意思是我需要两个数据库,一个
soap
和一个数据库。)

如果我把它放在我的模型中,它将使用我的数据源;但我认为它不会使用mysql表…:

public $useTable = false;
public $useDbConfig = 'mydatasource';

如何操作?

您可以使用$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();
        }
    }
}