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()に追加したデータベースを指定するとデータを参照することができます。