cakephp 1.3数据源更改问题

时间:2015-02-24 12:07:24

标签: php cakephp cakephp-1.3

我正在使用带有两个数据源的CakePHP 1.3:

  1. master
  2. default
  3. 如何更改整个功能的数据源,即从该功能的default更改为master

    如果我使用这个

    $this->{Model}->setDataSource('master');
    

    它仅针对该模型进行更改。

    有没有一般的方法???

1 个答案:

答案 0 :(得分:2)

行。尝试做这样的事情。我在较新版本的蛋糕中试过它并且它起作用了。

你的app模型中的

有一个功能

public function getDataSource(){
    $dataSource = Configure::read('currentDataSource');
    if($dataSource && $dataSource !== $this->useDbConfig){
        $this->setDataSource($dataSource);
    }
    return parent::getDataSource();
}

然后在您的控制器中,根据需要将数据源写入configure中。

Configure::write('currentDataSource', 'yourDbsource');

然后致电您的任何型号。

别忘了从bootstrap.php指定默认值。