Fuelphp:データベースを複数使用する

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


コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です