1. .env文件中添加
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=test1
DB_USERNAME=root
DB_PASSWORD=root
/*新增库需添加新配置*/
DB_CONNECTION_test=mysql --重复可省略
DB_HOST_test=127.0.0.1 --重复可省略
DB_PORT_test=3306 --重复可省略
DB_DATABASE_test=test2
DB_USERNAME_test=root --重复可省略
DB_PASSWORD_test=root --重复可省略
2. 在config/database.php中添加配置
'mysql' => [
'driver' => 'mysql',
'url' => env('DATABASE_URL'),
'host' => env('DB_HOST', '127.0.0.1'),
'port' => env('DB_PORT', '3306'),
'database' => env('DB_DATABASE', 'forge'),
'username' => env('DB_USERNAME', 'forge'),
'password' => env('DB_PASSWORD', ''),
'unix_socket' => env('DB_SOCKET', ''),
'charset' => 'utf8mb4',
'collation' => 'utf8mb4_unicode_ci',
'prefix' => '',
'prefix_indexes' => true,
'strict' => true,
'engine' => null,
'options' => extension_loaded('pdo_mysql') ? array_filter([
PDO::MYSQL_ATTR_SSL_CA => env('MYSQL_ATTR_SSL_CA'),
]) : [],
],
'mysql_test' => [
'driver' => 'mysql',
'url' => env('DATABASE_URL'),
'host' => env('DB_HOST_test', ''),
'port' => env('DB_PORT_test', '3306'),
'database' => env('DB_DATABASE_test', ''),
'username' => env('DB_USERNAME_test', ''),
'password' => env('DB_PASSWORD_test', ''),
'unix_socket' => env('DB_SOCKET', ''),
'charset' => 'utf8mb4',
'collation' => 'utf8mb4_unicode_ci',
'prefix' => '',
'prefix_indexes' => true,
'strict' => true,
'engine' => null,
'options' => extension_loaded('pdo_mysql') ? array_filter([
PDO::MYSQL_ATTR_SSL_CA => env('MYSQL_ATTR_SSL_CA'),
]) : [],
],
3. 使用
//DB使用
$user = DB::connection('mysql_test')->table('user')->where('id',1)->first();
//model使用
//模型配置需设置当前模型使用的数据库连接名
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class User extends Model
{
protected $connection = 'mysql_test';
protected $table = 'user';
}
---------
$user = User::where('id',1)->first()