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 相关文章推荐
Email+URL的判断和自动转换函数
Oct 09 PHP
谈谈新手如何学习PHP 默默经典版本
Aug 04 PHP
php生成excel列名超过26列大于Z时的解决方法
Dec 29 PHP
php列出mysql表所有行和列的方法
Mar 13 PHP
Symfony2安装第三方Bundles实例详解
Feb 04 PHP
浅谈php数组array_change_key_case() 函数和array_chunk()函数
Oct 22 PHP
浅谈PHP的反射机制
Dec 15 PHP
PHP实践教程之过滤、验证、转义与密码详解
Jul 24 PHP
动态表单验证的操作方法和TP框架里面的ajax表单验证
Jul 19 PHP
laravel ORM 只开启created_at的几种方法总结
Jan 29 PHP
浅谈laravel-admin的sortable和orderby使用问题
Oct 03 PHP
禁止直接访问php文件代码分享
May 05 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中处理模拟rewrite 效果
2006/12/09 PHP
php2html php生成静态页函数
2008/12/08 PHP
PHP 之Section与Cookie使用总结
2012/09/14 PHP
PHP实现链式操作的核心思想
2015/06/23 PHP
微信封装的调用微信签名包的类库
2017/06/08 PHP
php防止表单重复提交实例讲解
2019/02/11 PHP
JavaScript 对象、函数和继承
2009/07/07 Javascript
jQuery 1.5 源码解读 面向中高阶JSER
2011/04/05 Javascript
自定义一个jquery插件[鼠标悬浮时候 出现说明label]
2011/06/27 Javascript
使用Jquery搭建最佳用户体验的登录页面之记住密码自动登录功能(含后台代码)
2011/07/10 Javascript
artdialog的图片/标题以及关闭按钮不显示的解决方法
2013/06/27 Javascript
js单词形式的运算符
2014/05/06 Javascript
jQuery实现的进度条效果
2015/07/15 Javascript
jquery的幻灯片图片切换效果代码分享
2015/09/07 Javascript
基于Vuejs实现购物车功能
2016/08/02 Javascript
JavaScript实现in-place思想的快速排序方法
2016/08/07 Javascript
Angular中$cacheFactory的作用和用法实例详解
2016/08/19 Javascript
Node.js和Express简单入门介绍
2017/03/24 Javascript
详解Nodejs mongoose
2018/06/10 NodeJs
亲自动手实现vue日历控件
2019/06/26 Javascript
Javascript模拟实现new原理解析
2020/03/03 Javascript
微信小程序获取公众号文章列表及显示文章的示例代码
2020/03/10 Javascript
[01:34]2014DOTA2 TI预选赛预选赛 选手比赛房大揭秘!
2014/05/20 DOTA
用Python编写生成树状结构的文件目录的脚本的教程
2015/05/04 Python
Python实现按学生年龄排序的实际问题详解
2017/08/29 Python
python+matplotlib绘制旋转椭圆实例代码
2018/01/12 Python
教你用Python创建微信聊天机器人
2020/03/31 Python
Python输出\u编码将其转换成中文的实例
2018/12/15 Python
Apache,wsgi,django 程序部署配置方法详解
2019/07/01 Python
用Python实现童年贪吃蛇小游戏功能的实例代码
2020/12/07 Python
详解win10下pytorch-gpu安装以及CUDA详细安装过程
2021/01/28 Python
Python实现疫情地图可视化
2021/02/05 Python
HTML5在微信内置浏览器下右上角菜单的调整字体导致页面显示错乱的问题
2021/01/19 HTML / CSS
写给妈妈的道歉信
2014/01/11 职场文书
工厂采购员岗位职责
2015/04/07 职场文书
Win10 和 Win11可以共存吗? win10/11产品生命周期/服务更新介绍
2021/11/21 数码科技