2011年09月01日

cakephp 使用するテーブルを動的に変更する

お願いします♪いいねとかつぶやいたりして下さい
 
サイトをリニューアルする際、昔あったテーブルから新しいテーブルへと移行したいときがある。
で、cakephpを使用していない場合だと命名規則が不規則だったりする。
その際に便利なのでメモ。

・database.php
class DATABASE_CONFIG {

	var $default = array(
		'driver' => 'mysql',
		'persistent' => false,
		'host' => 'mysqlxx.db.sakura.ne.jp',
		'login' => 'xxxxx',
		'password' => 'pppp',
		'database' => 'xxxxx',
		'encoding' => 'utf8',
		'prefix' => 'aiura_',
	);
	
	var $old = array(
		'driver' => 'mysql',
		'persistent' => false,
		'host' => 'mysqlxx.db.sakura.ne.jp',
		'login' => 'xxxxx',
		'password' => 'pppp',
		'database' => 'xxxxx',
		'encoding' => 'euc-jp',
		'prefix' => '',
	);
}


上記のように古いDBの情報と新しいDBの情報を作っておく。

・適当なコントローラー
//古い方のデータベース接続情報を使用
$this->Dg->setDataSource('old');

//user テーブル を使用
$this->Dg->setSource('user');
$res = $this->Dg->find('all',array('limit' => 5 ,'fields' => array('id','sei','mei','email','pass','birth_nen','birth_gatu','birth_nichi','sumai','bload','sex','createday')));

//新しい方のデータベース接続を使用
$this->Dg->setDataSource('default');

//aiura_users テーブルを使う
$this->Dg->setSource('users');



こんな感じ。文字エンコーディングが違っても使えるので便利。
まぁその際は mb_conver_encoding とかでごりごりやる必要があるんだけどね。
関連するタグ: PHP cakephp
あなたにとって有用な記事でしたか?是非ブックマークしておくことをおすすめします。
 




ライブラリを配布しちゃったり
webデザイン
Fireworks
HTMLコーディング
CSS
Dreamweaver
携帯サイト
webプログラム
PHP
正規表現
cakephp
MYSQL
javascript
webマーケティング
adwords
analytics
windows7
ショートカットキー
おすすめ情報
サイト
facebook
ライブラリ
配布
アプリ
iphone
ipad
サーバー
さくらサーバー
全ての記事を読む




トップ - 最新の記事一覧 - お問い合わせ