laravel5 から設定方法が変わっているので以下の方法でやる
¥config¥database.php
'default' => env('DB_CONNECTION', 'pgsql'),
// @@@ 1つ目
'pgsql' => [
'driver' => 'pgsql',
'url' => env('DATABASE_URL'),
'host' => env('DB_HOST', 'database'),
'port' => env('DB_PORT', '5432'),
'database' => env('DB_DATABASE', 'laravel'),
'username' => env('DB_USERNAME', 'postgres'),
'password' => env('DB_PASSWORD', 'password'),
'charset' => 'utf8',
'prefix' => '',
'prefix_indexes' => true,
'search_path' => 'public',
'sslmode' => 'prefer',
],
// @@@ 2つ目
'pgsql_second' => [
'driver' => 'pgsql',
'url' => env('DATABASE_URL_SECOND'),
'host' => env('DB_HOST', 'database'),
'port' => env('DB_PORT', '5432'),
'database' => env('DB_DATABASE_SECOND', 'laravel_2nd'),
'username' => env('DB_USERNAME', 'postgres'),
'password' => env('DB_PASSWORD', 'password'),
'charset' => 'utf8',
'prefix' => '',
'prefix_indexes' => true,
'search_path' => 'public',
'sslmode' => 'prefer',
],
設定配列を追加して上記のように pgsql_second を作る
env で1つ目と区別する為に DB_DATABASE_SECOND のように _SECOND をつける
¥.env
DB_CONNECTION=pgsql
DB_HOST=database
DB_PORT=5432
DB_DATABASE=laravel
DB_USERNAME=postgres
DB_PASSWORD=password
DB_CONNECTION_SECOND=pgsql_second
DB_HOST=database
DB_PORT=5432
DB_DATABASE_SECOND=laravel_2nd
DB_USERNAME=postgres
DB_PASSWORD=password
controller 等で以下のように記述して DB に接続する
use Illuminate\Support\Facades\DB;
$users = DB::table('users')->where('email','hoge@hogehoge.jp')->get();
$users_second = DB::connection('pgsql_second')->table('wp_users')->where('ID',1)->get();
1つ目は default 設定にしているので connection なし
2つ目は connection で pgsql_second DB を指定