読者です 読者をやめる 読者になる 読者になる

(cakephp) 複数のデータベースを扱う方法と切り替え

cakephp

データベースの複数定義

app/config/database.php

class DATABASE__CONFIG {

    public $default = array(  
        'datasource' => 'Database/mysql',  
        'persistent' => false,  
        'host' => '123.123.456.789',  
        'login' => 'hoge.com',  
        'password' => 'hoge2012',  
        'database' => 'hogehoge',  
        'prefix' => '',  
        'encoding' => 'utf8',  
    );  
      
//追加した別のデータベース  
    public $hoge = array(  
        'datasorce' => 'Database/mysql',  
        'persistent' => false,  
        'host' => 'localhost',  
        'login' => 'hoge',  
        'password' => 'hoge2012',  
        'database' => 'hoge',  
        'prefix' => '',  
        'encoding' => 'utf8',  
    );  
} 

各データベースの呼び出し

1. controllersにDBの切り替えを記述

普段は$defaultを扱い、たまに別のデータベースを扱うならコントローラーに書く

$this->Model->useDbConfig = $dbname//DB変更  
$this->Model->useDbConfig = $dbname//DBを元に戻す