Laravel读、写、同步、切换多个数据库(DB方法)

一。 配置数据库参数:

Laravel默认数据库是取.env和datebase.php中mysql填写的数据库。

如果需要切换多个数据库,就需要填写新的数据库配置。

新的数据库不需要.env文件依赖。

① config/datebase.php文件:

'mysql' => [ // 默认,需要读取.env中数据库的配置,有env
    'driver' => 'mysql',
    'host' => env('DB_HOST', '127.0.0.1'),
    'port' => env('DB_PORT', '3306'),
    'database' => env('DB_DATABASE', ''),
    'username' => env('DB_USERNAME', 'root'),
    'password' => env('DB_PASSWORD', ''),
    'unix_socket' => env('DB_SOCKET', ''),
    'charset' => 'utf8mb4',
    'collation' => 'utf8mb4_unicode_ci',
    'prefix' => 'test_',
    'strict' => true,
    'engine' => null,
],
 
'mysql_new' => [ // 新增的数据库,没有env
    'driver' => 'mysql',
    'host' => '127.0.0.1',
    'port' => '3306',
    'database' => '',
    'username' => 'root',
    'password' => '',
    'unix_socket' => '',
    'charset' => 'utf8mb4',
    'collation' => 'utf8mb4_unicode_ci',
    'prefix' => 'test_',
    'strict' => true,
    'engine' => null,
],

② .env文件:

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=默认数据库
DB_USERNAME=root
DB_PASSWORD=

DB_HOST_NEW=127.0.0.1
DB_PORT_NEW=3306
DB_DATABASE_NEW=新数据库
DB_USERNAME_NEW=root
DB_PASSWORD_NEW=

二。DB方法来读、写数据库:

在控制器新增DB依赖:

use Illuminate\Support\Facades\DB;

读、写默认数据库:

$res = DB::table('user')->其他操作

或 $res = DB::connection('mysql')->table('user')->其他操作

读、写新数据库: 

$res_new = DB::connection('mysql_new')->table('user')->其他操作

-

你可能感兴趣的:(服务器/运维)