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维护文件系统
Oct 09 PHP
PHP 得到根目录的 __FILE__ 常量
Jul 23 PHP
PHP 缓存实现代码及详细注释
May 16 PHP
php中使用parse_url()对网址进行解析的实现代码(parse_url详解)
Jan 03 PHP
基于Discuz security.inc.php代码的深入分析
Jun 03 PHP
在Yii框架中使用PHP模板引擎Twig的例子
Jun 13 PHP
php网站被挂木马后的修复方法总结
Nov 06 PHP
PHP无限极分类函数的实现方法详解
Apr 15 PHP
Laravel框架使用Redis的方法详解
May 30 PHP
实例讲解PHP中使用命名空间
Jan 27 PHP
Laravel使用RabbitMQ的方法示例
Jun 18 PHP
laravel添加角色和模糊搜索功能的实现代码
Jun 22 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 mssql 日期出现中文字符的解决方法
2009/03/10 PHP
JoshChen_web格式编码UTF8-无BOM的小细节分析
2013/08/16 PHP
PHP中使用xmlreader读取xml数据示例
2014/12/29 PHP
详解Yii2高级版引入bootstrap.js的一个办法
2017/03/21 PHP
微信JSSDK分享功能图文实例详解
2019/04/08 PHP
PHP中的输出echo、print、printf、sprintf、print_r和var_dump的示例代码
2020/12/01 PHP
用户注册常用javascript代码
2009/08/29 Javascript
JS request函数 用来获取url参数
2010/05/17 Javascript
Jquery 选中表格一列并对表格排序实现原理
2012/12/15 Javascript
JS格式化数字金额用逗号隔开保留两位小数
2013/10/18 Javascript
NodeJS学习笔记之MongoDB模块
2015/01/13 NodeJs
jQuery学习笔记之创建DOM元素
2015/01/19 Javascript
JQuery实现图片轮播效果
2015/09/15 Javascript
Jquery 效果使用详解
2015/11/23 Javascript
jQuery与JavaScript节点创建方法的对比
2016/11/18 Javascript
浅谈React 属性和状态的一些总结
2016/11/21 Javascript
基于jQuery实现的幻灯图片切换
2016/12/02 Javascript
javaScript嗅探执行神器-sniffer.js
2017/02/14 Javascript
JavaScript函数节流的两种写法
2017/04/07 Javascript
原生JS实现网页手机音乐播放器 歌词同步播放的示例
2018/02/02 Javascript
vue.js数据绑定操作详解
2018/04/23 Javascript
更改BootStrap popover的默认样式及popover简单用法
2018/09/13 Javascript
超详细的5个Shell脚本实例分享(值得收藏)
2019/08/15 Javascript
js实现上传按钮并显示缩略图小轮子
2020/05/04 Javascript
编写Python爬虫抓取暴走漫画上gif图片的实例分享
2016/04/20 Python
Python+PIL实现支付宝AR红包
2018/02/09 Python
Python实现的求解最小公倍数算法示例
2018/05/03 Python
Python实现的连接mssql数据库操作示例
2018/08/17 Python
python 实现读取一个excel多个sheet表并合并的方法
2019/02/12 Python
Python中单线程、多线程和多进程的效率对比实验实例
2019/05/14 Python
Pandas时间序列重采样(resample)方法中closed、label的作用详解
2019/12/10 Python
公司财务总监岗位职责
2013/12/14 职场文书
普通话宣传标语
2014/06/26 职场文书
爱与责任师德演讲稿
2014/08/26 职场文书
队名及霸气口号大全
2015/12/25 职场文书
Python序列化模块JSON与Pickle
2022/06/05 Python