0

我创建了一个DataSource用于连接WSDL服务器和发布/获取数据的工具。

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

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

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

如何?

4

1 回答 1

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();
        }
    }
}
于 2012-08-14T11:05:22.020 回答