Fuelphpでデータベースに接続する時の設定ファイルは下記の場所にあります。
/fuel/app/config/db.php
/fuel/app/config/development/db.php
データベースの設定ファイルに別のデータベース情報を追加することで複数のデータベースを使用することが可能です。
下記にFuelphpで複数のデータベースに接続する為の設定方法・使用方法をメモします。
■ 設定方法
下記のファイルに新しく設定するデータベース情報を追加します。
・「fuel/app/config/db.php」
【修正前】
return array(
'active' => 'default',
'default' => array(
'type' => 'pdo',
'connection' => array(
'persistent' => false,
),
'identifier' => '`',
'table_prefix' => '',
'charset' => 'utf8',
'enable_cache' => true,
'profiling' => false,
),
'redis' => array(
'default' => array(
'hostname' => '127.0.0.1',
'port' => 6379,
)
),
);
【修正後】
return array(
'active' => 'default',
'default' => array(
'type' => 'pdo',
'connection' => array(
'persistent' => false,
),
'identifier' => '`',
'table_prefix' => '',
'charset' => 'utf8',
'enable_cache' => true,
'profiling' => false,
),
'redis' => array(
'default' => array(
'hostname' => '127.0.0.1',
'port' => 6379,
)
),
// 追加
'sample' => array(
'type' => 'pdo',
'connection' => array(
'persistent' => false,
),
'identifier' => '`',
'table_prefix' => '',
'charset' => 'utf8',
'enable_cache' => true,
'profiling' => false,
),
);
・「fuel/app/config/development/db.php」
【修正前】
return array(
'default' => array(
'connection' => array(
'dsn' => 'mysql:host=localhost;dbname=hoge',
'username' => 'ユーザー名',
'password' => 'パスワード',
),
),
);
【修正後】
return array(
'default' => array(
'connection' => array(
'dsn' => 'mysql:host=localhost;dbname=hoge',
'username' => 'ユーザー名',
'password' => 'パスワード',
),
),
// 追加
'sample' => array(
'connection' => array(
'dsn' => 'mysql:host=localhost;dbname=sample',
'username' => 'ユーザー名',
'password' => 'パスワード',
),
),
);
■ 使用方法
追加したデータベースに接続する場合は、下記のように記述します。
$query = \DB::select()->from('test');
$query->execute('sample')->as_array();
execute()に追加したデータベースを指定するとデータを参照することができます。