0

サーバーDataSourceに接続してデータを投稿/取得するためのを作成しました。WSDL

しかし、コントローラーでの使用方法がわかりませんか?MySQLデータベースを使用します(つまり、両方soapが必要です。とデータベースが必要です)。

これをモデルに入れると、データソースが使用されます。しかし、私はそれがそのmysqlテーブルを使用しないと思います...:

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

どのように?

4

1 に答える 1

0

$this->Modelname->setDataSource('default') と setDataSource('mydatasource') を使用して、2 つのソースをその場で切り替えることができます。

ただし、テーブルを使用する場合と使用しない場合を切り替える必要もあります。次のコードを使用して、テーブルのないソースと 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 に答える