第一步、定义数据库链接

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. Schema 表结构更改

在代码迁移时,可以使用 Schema 提供的 connection() 方法:

Schema::connection('mysql2')->create('some_table', function($table)
{
$table->increments('id'):
});
 

2. Query 数据库查询

同样的,数据库查询构造器里提供了一个 connection() 方法:

$users = DB::connection('mysql2')->select(...);
 

3. 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);

如何在 Laravel 中连接多个 MySQL 数据库的更多相关文章

  1. 如何在 Swoole 中优雅的实现 MySQL 连接池

    如何在 Swoole 中优雅的实现 MySQL 连接池 一.为什么需要连接池 ? 数据库连接池指的是程序和数据库之间保持一定数量的连接不断开, 并且各个请求的连接可以相互复用, 减少重复连接数据库带来 ...

  2. 如何在 Laravel 中灵活的使用 Trait

    如何在 Laravel 中灵活的使用 Trait  Laravel/ 3个月前/  1740 /  4 / 更新于 3个月前   @这是小豪的第九篇文章 好久没有更新文章了,说好了周更结果还是被自己对 ...

  3. 详解如何在Laravel中增加自定义全局函数

    http://www.php.cn/php-weizijiaocheng-383928.html 如何在Laravel中增加自定义全局函数?在我们的应用里经常会有一些全局都可能会用的函数,我们应该怎么 ...

  4. 在Eclipse中使用JDBC访问MySQL数据库的配置方法

    在Eclipse中使用JDBC访问MySQL数据库的配置方法 分类: DATABASE 数据结构与算法2009-10-10 16:37 5313人阅读 评论(10) 收藏 举报 jdbcmysql数据 ...

  5. R语言使用RMySQL连接及读写Mysql数据库 测试通过

    R语言使用RMySQL连接及读写Mysql数据库 简单说下安装过程,一般不会有问题,重点是RMySQL的使用方式. 系统环境说明 Redhat系统:Linux 460-42.6.32-431.29.2 ...

  6. 寝室远程连接室友mysql数据库

    注意,本方法是适用于同一局域网下的远程连接 注意,本方法是适用于同一局域网下的远程连接 注意,本方法是适用于同一局域网下的远程连接 首先需要修改mysql数据库的相关配置,将user表中的host改为 ...

  7. JAVA连接SqlServer2008R2和MySql数据库

    问题描述: 下面是有关连接SqlServer2008R2和MySql数据库的封装类 package com.test; import java.sql.Connection; import java. ...

  8. linux下程序JDBC连接不到mysql数据库

    今天在linux下部署一个 JavaEE项目的时候总是连接不到Mysql数据库,检查之后发现连接池的配置确定是对的,进入linux服务器之后以mysql -uname -ppassword连接总是报A ...

  9. robot_framewok自动化测试--(9)连接并操作 MySql 数据库

    连接并操作 MySql 数据库 1.mysql数据库 1.1安装mysql数据库 请参考我的另一篇文章:MYSQL5.7下载安装图文教程 1.2.准备测试数据 请参考我的另一篇文章:Mysql基础教程 ...

随机推荐

  1. SAP FI模块常用事务代码

    F.52 G/L: Acct Bal.Interest Calculation 总帐:计算科目余额利息 F-06       Post Incoming Payments 收款记帐 F-07      ...

  2. Eureka 剔除失效服务

    Spring Cloud 版本: Dalston.SR5 服务端配置: # 关闭保护机制 eureka.server.enable-self-preservation=false #剔除失效服务间隔 ...

  3. WINDOW 2008多人访问设置

    gpedit.msc,在组策略中对位于“计算机配置->策略->管理模板->Windows 组件->远程桌面服务->远程桌面会话主机->连接”中,限制连接数量中进行配 ...

  4. PO接口表

    ---物料主数据接口 SELECT count(*)PO_MARA FROM STG.PO_MARA; SELECT count(*)PO_MARC FROM STG.PO_MARC; SELECT ...

  5. metasploit framework(六):信息收集

    nmap 扫描 扫描完毕之后,hosts查看扫描的结果 auxiliary 扫描 使用arpsweep模块扫描 查看设置 设置网卡和目标IP 设置伪造的源IP和源MAC set SHOST <伪 ...

  6. WeakReference 在android中的应用

    转:http://my.oschina.net/u/1177694/blog/523922 首先我们来看一段代码 public class AutoActivity extends Activity  ...

  7. 常用的jquerymobil 站点

    http://www.jqmapi.com/api1.2/ Jquery Mobile 中文API站 https://codiqa.com/demo   jquerymobil UI编辑器 https ...

  8. centos7.2 +cloudstack 4.11 +KVM +ceph 安装配置(网卡带聚合)

    系统安装,注意:管理节点版本是有要求的,配置为centos 7.2 最小安装版本(非最小化安装). 系统分区要求 /boot/efi 200MB / 100G /var 100G swap 0 其它给 ...

  9. pm2-zabbix 安装与配置

    官方GITHUB路径 https://github.com/greatcare/pm2-zabbix 环境要求,zabbix-agent zabbix-sender需要安装 npm安装要求 npm i ...

  10. vue bus 的使用

    简单的状态管理,可以用vue bus vue bus可以实现不同组件间.不同页面间的通信,比如我在A页面出发点击事件,要B页面发生变化,使用方法如下: 全局定义:main.js window.even ...