在实际的项目应用中,我们可能需要连接多个数据库
在`laravel`中该如何实现?
第一步、定义数据库链接
`config/database.php`
> 'mysql',
'connections' => [
'mysql' =\> [
'driver' =\> 'mysql',
'host' =\> 'host1',
'database' =\> 'database1',
'username' =\> 'user1',
'password' =\> 'pass1',
'charset' =\> 'utf8mb4',
'collation' =\> 'utf8mb4_unicode_ci',
'prefix' =\> '',
],
'mysql2' =\> [
'driver' =\> 'mysql',
'host' =\> 'host2',
'database' =\> 'database2',
'username' =\> 'user2',
'password' =\> 'pass2',
'charset' =\> 'utf8mb4',
'collation' =\> 'utf8mb4_unicode_ci',
'prefix' =\> '',
]
],
];
第二步、连接数据库
我们已经成功配置了两个数据库链接,接下来讲解几种连接的方法。
1、db数据库操作
`$users = DB::connection('mysql2')->select(...);`
2、 Eloquent 数据模型
使用 `$connection` 属性来设置默认的连接:
>setConnection('mysql2');
$something = $someModel-\>find(1);
return $something;
}
}
或者使用 `on()` 方法:
>$someModel-\>on('mysql2')-\>find(1);