如何使用mysql的soap数据源

时间:2012-08-12 16:24:32

标签: cakephp datasource cakephp-2.0

我创建了一个DataSource来连接WSDL服务器并发布/获取数据。

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

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

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

如何?

1 个答案:

答案 0 :(得分:0)

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