Laravel多个数据库连接 ,把大象装冰箱,总共分三步!!!
1、配置.env文件
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=database_name
DB_USERNAME=root
DB_PASSWORD=
DB_HOST_CENTER=127.0.0.1
DB_PORT_CENTER=3306
DB_DATABASE_CENTER=database_center
DB_USERNAME_CENTER=root
DB_PASSWORD_CENTER=
2、配置config/database.php
'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,
],
'mysql_center' => [
'driver' => 'mysql',
'host' => env('DB_HOST_CENTER', 'localhost'),
'port' => env('DB_PORT_CENTER', '3306'),
'database' => env('DB_DATABASE_CENTER', 'forge'),
'username' => env('DB_USERNAME_CENTER', 'forge'),
'password' => env('DB_PASSWORD_CENTER', ''),
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => '',
'strict' => false,
'engine' => null,
],
3、查询数据
\DB::table('tb_banner')->get();//默认数据库
\DB::connection('mysql_center')->table('tb_banner')->get();//mysql_center
或者
a、这个model将采用默认的'mysql'连接
class UserModel extends Model
{
// 数据库'database'中的users表
protected $table = "users";
}
b、 这个model将使用mysql_center连接
class UserModel extends Model
{
// 数据库'dadtabase_center'中的users表
protected $connection = 'mysql_center';
protected $table = "users";
}
…
测试一下
实打实大