内容へ移動
fl8 Wiki
ユーザ用ツール
ログイン
サイト用ツール
検索
ツール
文書の表示
以前のリビジョン
バックリンク
最近の変更
メディアマネージャー
サイトマップ
ログイン
>
最近の変更
メディアマネージャー
サイトマップ
現在位置:
Dokuwiki.fl8.jp
»
11_php
»
02_framework
»
01_laravel
»
17 Laravel 複数データベース接続
トレース:
11_php:02_framework:01_laravel:17_laravel_multiple_database
この文書は読取専用です。文書のソースを閲覧することは可能ですが、変更はできません。もし変更したい場合は管理者に連絡してください。
====== 17 Laravel 複数データベース接続 ====== ===== Laravel 5.x ===== ==== .env ==== <code> DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=database1 DB_USERNAME=root DB_PASSWORD=secret DB_CONNECTION_SECOND=mysql DB_HOST_SECOND=127.0.0.1 DB_PORT_SECOND=3306 DB_DATABASE_SECOND=database2 DB_USERNAME_SECOND=root DB_PASSWORD_SECOND=secret </code> ==== config/database.php ==== <code> 'mysql' => [ 'driver' => env('DB_CONNECTION'), 'host' => env('DB_HOST'), 'port' => env('DB_PORT'), 'database' => env('DB_DATABASE'), 'username' => env('DB_USERNAME'), 'password' => env('DB_PASSWORD'), ], 'mysql2' => [ 'driver' => env('DB_CONNECTION_SECOND'), 'host' => env('DB_HOST_SECOND'), 'port' => env('DB_PORT_SECOND'), 'database' => env('DB_DATABASE_SECOND'), 'username' => env('DB_USERNAME_SECOND'), 'password' => env('DB_PASSWORD_SECOND'), ], </code> ===== Laravel 4.X ===== ==== app/config/database.php ==== <code> return array( 'default' => 'mysql', 'connections' => array( # Primary/Default database connection 'mysql' => array( 'driver' => 'mysql', 'host' => '127.0.0.1', 'database' => 'database1', 'username' => 'root', 'password' => 'secret' 'charset' => 'utf8', 'collation' => 'utf8_unicode_ci', 'prefix' => '', ), # Secondary database connection 'mysql2' => array( 'driver' => 'mysql', 'host' => '127.0.0.1', 'database' => 'database2', 'username' => 'root', 'password' => 'secret' 'charset' => 'utf8', 'collation' => 'utf8_unicode_ci', 'prefix' => '', ), ), ); </code> ===== 複数のデータベースに接続コントロール側 ===== ==== Schemaでデータベースへ接続 ==== <code> Schema::connection('mysql2')->create('some_table', function($table) { $table->increments('id'): }); </code> ==== Query Builderでデータベースへ接続 ==== <code> $users = DB::connection('mysql2')->select(...); </code> === DB::talbe()の形で利用する === <code> $users = DB::connection('mysql2')->talbe('users')->limit(100); print_r($users->first()); </code> ==== Eloquent ORMでデータベースへ接続 ==== <code> <?php class SomeModel extends Eloquent { protected $connection = 'mysql2'; } </code> <code> <?php class SomeController extends BaseController { public function someMethod() { $someModel = new SomeModel; $someModel->setConnection('mysql2'); $something = $someModel->find(1); return $something; } } </code> {{tag>Laravel}}
11_php/02_framework/01_laravel/17_laravel_multiple_database.txt
· 最終更新: 2019/03/27 09:33 by
matsui
ページ用ツール
文書の表示
以前のリビジョン
バックリンク
文書の先頭へ