【CakePHP2.4】CakePHPで動的にDBの接続先を変更する。

めも。
モデルごとにDBの接続先を変更したい時に便利。

まずは「app/Config/database/php」に接続情報の追加を行う

class DATABASE_CONFIG {

	public $default = array(
			'datasource' => 'Database/Mysql',
			'persistent' => false,
			'host' => '',
			'login' => '',
			'password' => '',
			'database' => '',
			'prefix' => '',
			'encoding' => 'utf8',
	);

	// 追加のDB接続情報
	public $hoge = array(
			'datasource' => 'Database/Mysql',
			'persistent' => false,
			'host' => 'xxxx',
			'login' => 'xxxx',
			'password' => 'xxxx',
			'database' => 'xxxx',
			'prefix' => '',
			'encoding' => 'utf8',
	);

}

次にモデルにてDBの接続先情報を指定する。

class Example extends AppModel {
	
	public $useDbConfig = 'hoge';
	
}

これでモデルの接続先DBを動的に変更することが出来る。

めっちゃ便利だね。