私たちは、接続部にconfig/database.php
でDB接続を設定することができます
'connections' => [
//Our primary DB
'mysql' => [
'driver' => 'mysql',
'host' => env('DB_HOST', 'localhost'),
'port' => env('DB_PORT', '3306'),
'database' => env('DB_DATABASE', 'forge'),
'username' => env('DB_USERNAME', 'forge'),
'password' => env('DB_PASSWORD', ''),
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => '',
'strict' => false,
'engine' => null,
],
//Secondary DB
'mysql2' => [
'driver' => 'mysql',
'host' => env('DB_HOST', 'localhost'),
'port' => env('DB_PORT', '3306'),
'database' => env('DB2_DATABASE', 'secondary'),
'username' => env('DB2_USERNAME', 'forge'),
'password' => env('DB2_PASSWORD', ''),
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => '',
'strict' => false,
'engine' => null,
],
],
とモデルのために、我々は
class User2 extends Model
{
protected $connection = 'mysql2';
}
を追加することができますそして私たちは接続方法を使用することができます。
Schema::connection('mysql2')->create('table')
そして、あなたは雄弁ORMを使用している場合、我々はそれにsetConnection('mysql2')
を使用することができます。
$user = new User2;
$user->setConnection('mysql2');
文句を言わないでミドルウェア 使用$接続=「子」でメインデータベース セットの子のdbのparamsにおけるマルチテナント 店の子デシベル構成を使用私の場合、このquestion
貴重な情報をお寄せいただきありがとうございます。ただし、申請の場合は、複数のテナントを作成し、テナントごとに個別のDBが作成されます。 したがって、テナントごとにDB接続情報を格納するメカニズムが必要です。 これを達成する方法に関する入力はありますか? –