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+MySQL 手工注入语句大全 推荐
Oct 30 PHP
使用PHP提取视频网站页面中的FLASH地址的代码
Apr 17 PHP
php 字符串压缩方法比较示例
Jan 23 PHP
ThinkPHP让分页保持搜索状态的方法
Jul 02 PHP
ThinkPHP中pathinfo的访问模式、路径访问模式及URL重写总结
Aug 23 PHP
PHP程序员不应该忽略的3点
Oct 09 PHP
PHP简单实现文本计数器的方法
Apr 28 PHP
php  单例模式详细介绍及实现源码
Nov 05 PHP
PHP进阶学习之反射基本概念与用法分析
Jun 18 PHP
在Laravel 中实现是否关注的示例
Oct 22 PHP
PHP常见的序列化与反序列化操作实例分析
Oct 28 PHP
Laravel等框架模型关联的可用性浅析
Dec 15 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
php通过递归方式复制目录和子目录的方法
2015/03/13 PHP
PHP中preg_match函数正则匹配的字符串长度问题
2015/05/27 PHP
PHP的Yii框架中移除组件所绑定的行为的方法
2016/03/18 PHP
使用php实现网站验证码功能【推荐】
2017/02/09 PHP
JavaScript 事件属性绑定带参数的函数
2009/03/13 Javascript
extjs 学习笔记 四 带分页的grid
2009/10/20 Javascript
深入理解JavaScript系列(6) 强大的原型和原型链
2012/01/15 Javascript
浅谈JavaScript函数参数的可修改性问题
2013/12/05 Javascript
jQuery常用操作方法及常用函数总结
2014/06/19 Javascript
js中函数调用的两种常用方法使用介绍
2014/07/17 Javascript
使用纯javascript实现放大镜效果
2015/03/18 Javascript
js简单实现Select互换数据的方法
2015/08/17 Javascript
JavaScript代码因逗号不规范导致IE不兼容的问题
2016/02/25 Javascript
jQuery代码性能优化的10种方法
2016/06/21 Javascript
jQuery简单实现中间浮窗效果
2016/09/04 Javascript
利用Query+bootstrap和js两种方式实现日期选择器
2017/01/10 Javascript
Js自动截取字符串长度,添加省略号(……)的实现方法
2017/03/06 Javascript
angularjs之$timeout指令详解
2017/06/13 Javascript
详解Nodejs内存治理
2018/05/13 NodeJs
Vue中util的工具函数实例详解
2019/07/08 Javascript
vue 百度地图(vue-baidu-map)绘制方向箭头折线实例代码详解
2020/04/28 Javascript
vue data对象重新赋值无效(未更改)的解决方式
2020/07/24 Javascript
javascript实现左右缓动动画函数
2020/11/25 Javascript
Python编程实现微信企业号文本消息推送功能示例
2017/08/21 Python
pycharm下打开、执行并调试scrapy爬虫程序的方法
2017/11/29 Python
python 读取DICOM头文件的实例
2018/05/07 Python
Python matplotlib模块及柱状图用法解析
2020/08/10 Python
python 合并多个excel中同名的sheet
2021/01/22 Python
建筑自我鉴定
2013/10/19 职场文书
应用化学专业职业生涯规划书
2013/12/31 职场文书
经销商会议欢迎词
2014/01/11 职场文书
医院我们的节日活动实施方案
2014/08/22 职场文书
公务员年度考核登记表个人总结
2015/02/12 职场文书
大学生见习总结报告
2015/06/24 职场文书
股东合作协议书模板2篇
2019/11/05 职场文书
vue实现列表垂直无缝滚动
2022/04/08 Vue.js