laravel中连接多个数据库

发布时间:2020-11-07 21:41:48 阅读:1313次

在实际的项目应用中,我们可能需要连接多个数据库

laravel中该如何实现?

第一步、定义数据库链接

config/database.php

<?php return [
'default' => '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 属性来设置默认的连接:

<?php class SomeModel extends Eloquent {
protected $connection = 'mysql2';
}

你也可以使用setConnection 来动态设置连接:

<?php class SomeController extends BaseController {
public function someMethod()
{
$someModel = new SomeModel;
$someModel->setConnection('mysql2');
$something = $someModel->find(1);
return $something;
}
}

或者使用 on() 方法:

$someModel->on('mysql2')->find(1);

如有问题,可以QQ搜索群1028468525加入群聊,欢迎一起研究技术

支付宝 微信

有疑问联系站长,请联系QQ:QQ咨询

转载请注明:laravel中连接多个数据库 出自老鄢博客 | 欢迎分享