Laravel如何同时连接多个数据库详解


Posted in PHP onAugust 13, 2019

前言

上文说到thinkphp3.2同时连接两个数据库的文章,然后在总结下laravel同时连接

多个数据库的实例,方便新手学习,db连接以及model连接。

配置.env 文件

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=database_name
DB_USERNAME=root
DB_PASSWORD=root

DB_HOST_TEST=127.0.0.1
DB_PORT_TEST=3306
DB_DATABASE_TEST=database_test
DB_USERNAME_TEST=root
DB_PASSWORD_TEST=root

配置 config/database.php

// 默认连接mysql
'default' => env('DB_CONNECTION', 'mysql'),

'connections' => [

 'sqlite' => [
  'driver' => 'sqlite',
  'database' => database_path('database.sqlite'),
  'prefix' => '',
 ],

 'mysql' => [
  'driver' => 'mysql',
  'host' => env('DB_HOST', '127.0.0.1'),
  'port' => env('DB_PORT', '3306'),
  'database' => env('DB_DATABASE', 'database_name'),
  'username' => env('DB_USERNAME', 'root'),
  'password' => env('DB_PASSWORD', 'root'),
  'charset' => 'utf8',
  'collation' => 'utf8_unicode_ci',
  'prefix' => '',
  'strict' => false,
 ],

 'mysql_test' => [
  'driver' => 'mysql',
  'host' => env('DB_HOST_TEST', '127.0.0.1'),
  'port' => env('DB_PORT_TEST', '3306'),
  'database' => env('DB_DATABASE_TEST', 'database_test'),
  'username' => env('DB_USERNAME_TEST', 'root'),
  'password' => env('DB_PASSWORD_TEST', 'root'),
  'charset' => 'utf8',
  'collation' => 'utf8_unicode_ci',
  'prefix' => '',
  'strict' => false,
 ],

 ],

model实例(这个model将使用mysql_test连接)

<?php

namespace App\Model;

use Illuminate\Database\Eloquent\Model;

class Test extends Model
{
 // 数据库'database_test'中的test表
 public $table = 'test';
 public $timestamps = false;
 protected $connection = 'mysql_test';

}

model实例(这个model将采用默认的'mysql'连接)

<?php

namespace App\Model;

use Illuminate\Database\Eloquent\Model;

class Test extends Model
{
 // 数据库'database'中的test表
 public $table = 'test';
 public $timestamps = false;
 // 以下代码可有可不、默认连接mysql
 protected $connection = 'mysql';

}


a、这个model将采用默认的'mysql'连接
class UserModel extends Model
{
 // 数据库'database'中的users表
 protected $table = "users";
}

b、

调用model实例

// 以下是调用方法
Test::get();
Test::where('id',1)->first();

DB直接连接数据库

// 连接mysql_test库
DB::connection('mysql_test')->table('test')->where('id',1)->first();
// 连接mysql库
DB::connection('mysq')->table('test')->where('id',1)->first();
// 连接mysql库
DB::table('test')->where('id',1)->first();

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对三水点靠木的支持。

PHP 相关文章推荐
php 日期和时间的处理-郑阿奇(续)
Jul 04 PHP
PHP导出EXCEL快速开发指南--PHPEXCEL的使用详解
Jun 03 PHP
php使用cookie保存登录用户名的方法
Jan 26 PHP
我整理的PHP 7.0主要新特性
Jan 07 PHP
Adnroid 微信内置浏览器清除缓存
Jul 11 PHP
php与python实现的线程池多线程爬虫功能示例
Oct 12 PHP
php正则去除网页中所有的html,js,css,注释的实现方法
Nov 03 PHP
PHP实现的简单AES加密解密算法实例
May 29 PHP
PHP 应用容器化以及部署方法
Feb 12 PHP
laravel获取不到session的三种解决办法【推荐】
Sep 16 PHP
PHP中define() 与 const定义常量的区别详解
Jun 25 PHP
Laravel 6 将新增为指定队列任务设置中间件的功能
Aug 06 PHP
Laravel 默认邮箱登录改成用户名登录的实现方法
Aug 12 #PHP
php链式操作的实现方式分析
Aug 12 #PHP
基于PHP实现微信小程序客服消息功能
Aug 12 #PHP
php swoole多进程/多线程用法示例【基于php7nts版】
Aug 12 #PHP
PHP基于swoole多进程操作示例
Aug 12 #PHP
PHP swoole和redis异步任务实现方法分析
Aug 12 #PHP
php使用pecl方式安装扩展操作示例
Aug 12 #PHP
You might like
PHP5下$_SERVER变量不再受magic_quotes_gpc保护的弥补方法
2012/10/31 PHP
PHP格式化显示时间date()函数代码
2018/10/03 PHP
js cookies 常见网页木马挂马代码 24小时只加载一次
2009/04/13 Javascript
简单js代码实现selece二级联动(推荐)
2014/02/18 Javascript
js图片轮播效果实现代码
2020/04/18 Javascript
WordPress 单页面上一页下一页的实现方法【附代码】
2016/03/10 Javascript
Javascript删除指定元素节点的方法
2016/06/21 Javascript
AngularJS  ng-table插件设置排序
2016/09/21 Javascript
微信小程序 获取微信OpenId详解及实例代码
2016/10/31 Javascript
Vue.js在使用中的一些注意知识点
2017/04/29 Javascript
JS实现的排列组合算法示例
2019/07/16 Javascript
微信小程序 如何保持登录状态
2019/08/16 Javascript
原生js+canvas实现贪吃蛇效果
2020/08/02 Javascript
vue element ui validate 主动触发错误提示操作
2020/09/21 Javascript
[01:01:42]Secret vs Optic Supermajor 胜者组 BO3 第二场 6.4
2018/06/05 DOTA
[46:21]Liquid vs LGD 2018国际邀请赛淘汰赛BO3 第一场 8.23
2018/08/24 DOTA
Python中xrange与yield的用法实例分析
2017/12/26 Python
django url到views参数传递的实例
2019/07/19 Python
django自定义非主键自增字段类型详解(auto increment field)
2020/03/30 Python
Python 串口通信的实现
2020/09/29 Python
Python3获取cookie常用三种方案
2020/10/05 Python
详解HTML5 canvas绘图基本使用方法
2018/01/29 HTML / CSS
html5实现完美兼容各大浏览器的播放器
2014/12/26 HTML / CSS
芬兰攀岩、山地运动和户外活动用品购物网站:Bergfreunde
2016/10/06 全球购物
Everything But Water官网:美国泳装品牌
2019/03/17 全球购物
硕士研究生个人求职信
2013/12/04 职场文书
初中音乐教学反思
2014/01/12 职场文书
2014年乡镇植树节活动方案
2014/02/28 职场文书
校园歌咏比赛主持词
2014/03/18 职场文书
运动会宣传口号
2014/06/09 职场文书
煤矿开采专业求职信
2014/07/08 职场文书
教师党员自我剖析材料
2014/09/29 职场文书
民警群众路线教育实践活动对照检查材料
2014/10/04 职场文书
2014年学校总务处工作总结
2014/12/08 职场文书
元素水平垂直居中的方式
2021/03/31 HTML / CSS
分享很少见很有用的SQL功能CORRESPONDING
2022/08/05 MySQL