Fuelphpでデータベースに接続する時の設定ファイルは下記の場所にあります。
/fuel/app/config/db.php /fuel/app/config/development/db.php
データベースの設定ファイルに別のデータベース情報を追加することで複数のデータベースを使用することが可能です。
下記にFuelphpで複数のデータベースに接続する為の設定方法・使用方法をメモします。
■ 設定方法
下記のファイルに新しく設定するデータベース情報を追加します。
・「fuel/app/config/db.php」
【修正前】
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | 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, ) ), ); |
【修正後】
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | 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」
【修正前】
1 2 3 4 5 6 7 8 9 10 11 | return array ( 'default' => array ( 'connection' => array ( 'dsn' => 'mysql:host=localhost;dbname=hoge' , 'username' => 'ユーザー名' , 'password' => 'パスワード' , ), ), ); |
【修正後】
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | 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' => 'パスワード' , ), ), ); |
■ 使用方法
追加したデータベースに接続する場合は、下記のように記述します。
1 2 | $query = \DB::select()->from( 'test' ); $query ->execute( 'sample' )->as_array(); |
execute()に追加したデータベースを指定するとデータを参照することができます。