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模拟SQL Server的两个日期处理函数
Oct 09 PHP
PHP静态调用非静态方法的应用分析
May 02 PHP
解析php函数method_exists()与is_callable()的区别
Jun 21 PHP
php根据操作系统转换文件名大小写的方法
Feb 24 PHP
php读取文件内容的方法汇总
Jan 24 PHP
php查看网页源代码的方法
Mar 13 PHP
PHP易混淆知识整理笔记
Sep 24 PHP
Symfony2学习笔记之系统路由详解
Mar 17 PHP
简单实现PHP留言板功能
Dec 21 PHP
PHP操作MySQL中BLOB字段的方法示例【存储文本与图片】
Sep 15 PHP
thinkPHP5.1框架中Request类四种调用方式示例
Aug 03 PHP
php使用pthreads v3多线程实现抓取新浪新闻信息操作示例
Feb 21 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数组函数序列之prev() - 移动数组内部指针到上一个元素的位置,并返回该元素值
2011/10/31 PHP
解析PHP中的unset究竟会不会释放内存
2013/07/18 PHP
win7安装php框架Yii的方法
2016/01/25 PHP
深入浅析PHP的session反序列化漏洞问题
2017/06/15 PHP
JavaScript入门学习书籍推荐
2008/06/12 Javascript
javascript 获取表单file全路径
2009/12/31 Javascript
window.location.hash 属性使用说明
2010/03/20 Javascript
JS获取当前日期和时间的简单实例
2013/11/19 Javascript
javascript简单实现命名空间效果
2014/03/06 Javascript
jQuery实现的简单折叠菜单(折叠面板)效果代码
2015/09/16 Javascript
JavaScript中误用/g导致的正则test()无法正确重复执行的解决方案
2016/07/27 Javascript
细数JavaScript 一个等号,两个等号,三个等号的区别
2016/10/09 Javascript
react.js 翻页插件实例代码
2017/01/19 Javascript
jQuery接受后台传递的List的实例详解
2017/08/02 jQuery
详解webpack编译速度提升之DllPlugin
2019/02/05 Javascript
vue实现可视化可拖放的自定义表单的示例代码
2019/03/20 Javascript
详解如何更好的使用module vuex
2019/03/27 Javascript
如何使用50行javaScript代码实现简单版的call,apply,bind
2019/08/14 Javascript
python中import reload __import__的区别详解
2017/10/16 Python
利用python将pdf输出为txt的实例讲解
2018/04/23 Python
Python爬虫框架scrapy实现的文件下载功能示例
2018/08/04 Python
Python装饰器模式定义与用法分析
2018/08/06 Python
详解程序意外中断自动重启shell脚本(以Python为例)
2019/07/26 Python
pandas的排序和排名的具体使用
2019/07/31 Python
如何在VSCode上轻松舒适的配置Python的方法步骤
2019/10/28 Python
numpy 矩阵形状调整:拉伸、变成一位数组的实例
2020/06/18 Python
PyTorch-GPU加速实例
2020/06/23 Python
浅析Python 序列化与反序列化
2020/08/05 Python
极简的HTML5模版
2015/07/09 HTML / CSS
浅谈html5与APP混合开发遇到的问题总结
2018/03/20 HTML / CSS
世界首屈一指的钓鱼用品商店:TackleDirect
2016/07/26 全球购物
建筑专业毕业生推荐信
2013/11/21 职场文书
高中生期中考试失利检讨书
2014/10/23 职场文书
有限责任公司股东合作协议书
2014/12/02 职场文书
教你用Python+selenium搭建自动化测试环境
2021/06/18 Python
十大动画制作软件,Adobe产品上榜两款,第一是行业标准软件
2022/03/18 杂记