2012-08-12 13 views
0

我創建了DataSource用於連接到WSDL服務器併發布/獲取數據。如何使用soap數據源與mysql

但是,我不知道如何在控制器中使用它?與MySQL數據庫(我的意思是我需要他們兩個,一個soap和數據庫是必要的。)

如果我把它放在我的模型,它會使用我的數據源;但我認爲它不會使用它的mysql表...:

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

怎麼樣?

回答

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(); 
     } 
    } 
}