Laravel使用多数据库

一 设置数据库信息

//第一个数据库的相关信息
‘mysql’ => [
‘driver’ => ‘mysql’,
‘url’ => env(‘DATABASE_URL’),
‘host’ => env(‘DB_HOST’, ‘127.0.0.1’),
‘port’ => env(‘DB_PORT’, ‘3306’),
‘database’ => ‘blog’, //第一个库的库名字
‘username’ => env(‘DB_USERNAME’, ‘forge’),
‘password’ => env(‘DB_PASSWORD’, ‘’),
‘unix_socket’ => env(‘DB_SOCKET’, ‘’),
‘charset’ => ‘utf8mb4’,
‘collation’ => ‘utf8mb4_unicode_ci’,
‘prefix’ => ‘te’, //第一个库的表前缀
‘prefix_indexes’ => true,
‘strict’ => true,
‘engine’ => null,
‘options’ => extension_loaded(‘pdo_mysql’) ? array_filter([
PDO::MYSQL_ATTR_SSL_CA => env(‘MYSQL_ATTR_SSL_CA’),
]) : [],
],

//第二个库的相关信息
‘mysql2’ => [
‘driver’ => ‘mysql’,
‘url’ => env(‘DATABASE_URL’),
‘host’ => env(‘DB_HOST’, ‘127.0.0.1’),
‘port’ => env(‘DB_PORT’, ‘3306’),
‘database’ => ‘blog2’, //第二个库的库名字
‘username’ => env(‘DB_USERNAME’, ‘forge’),
‘password’ => env(‘DB_PASSWORD’, ‘’),
‘unix_socket’ => env(‘DB_SOCKET’, ‘’),
‘charset’ => ‘utf8mb4’,
‘collation’ => ‘utf8mb4_unicode_ci’,
‘prefix’ => ‘te2_’, //第二个库的表前缀
‘prefix_indexes’ => true,
‘strict’ => true,
‘engine’ => null,
‘options’ => extension_loaded(‘pdo_mysql’) ? array_filter([
PDO::MYSQL_ATTR_SSL_CA => env(‘MYSQL_ATTR_SSL_CA’),
]) : [],
],

二 使用

1 Eloquent 方式

    1.1 创建表 这里我创建了两个user表 

在这里插入图片描述


// usermodel设置了connection 连接的是名字为 mysql配置里的数据库
class UserModel extends Model
{
    protected $connection = 'mysql';
    protected $table='user';

}


//userTwoModel 连接的是配置名为mysql2的数据库
class UserTwoModel extends BaseModel
{
    protected $connection = 'mysql2';
    protected $table = 'user';

}
1.2 使用
 $user = UserTwoModel::find(1)->toArray();

得到结果
得到结果

  $user = UserModel::find(1)->toArray();
得到结果

在这里插入图片描述

2 DB的使用

(有些复杂的语句,需要使用到原生mysql语句 这时候我们需要会DB也能做到多数据切换)

2.1

//使用connection 指定要连接的数据库
$user = Db::connection(‘mysql’)->select(“select * from te_user where id=1”);
得到结果
在这里插入图片描述

第二个数据库的使用

$user = Db::connection('mysql2')->select("select * from te2_user where id=1");

得到结果
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值