我们可以在连接部分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')
如果你使用 Eloquent ORM,我们可以在上面使用setConnection('mysql2')。
$user = new User2;
$user->setConnection('mysql2');
这个答案基于这个question