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缓存技术的多种方法小结
Aug 14 PHP
初步介绍PHP扩展开发经验分享
Sep 06 PHP
PHP验证码函数代码(简单实用)
Sep 29 PHP
thinkphp实现面包屑导航(当前位置)例子分享
May 10 PHP
ThinkPHP之N方法实例详解
Jun 20 PHP
php操作xml入门之xml标签的属性分析
Jan 23 PHP
php开发工具有哪五款
Nov 09 PHP
php实现smarty模板无限极分类的方法
Dec 07 PHP
PHP中利用sleep函数实现定时执行功能实现代码
Aug 25 PHP
PHP ajax+jQuery 实现批量删除功能实例代码小结
Dec 06 PHP
php ajax confirm 删除实例详解
Mar 06 PHP
PHP与Web页面的交互示例详解二
Aug 04 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
默默简单的写了一个模板引擎
2007/01/02 PHP
PHP实现从上往下打印二叉树的方法
2018/01/18 PHP
一次因composer错误使用引发的问题与解决
2019/03/06 PHP
jquery限制输入字数,并提示剩余字数实现代码
2012/12/24 Javascript
Javascript 判断是否存在函数的方法
2013/01/03 Javascript
jQuery控制输入框只能输入数值的小例子
2013/03/20 Javascript
js动态添加事件并可传参数示例代码
2013/10/21 Javascript
判断window.onload是否多次使用的方法
2014/09/21 Javascript
分步解析JavaScript实现tab选项卡自动切换功能
2016/01/25 Javascript
js操作DOM--添加、删除节点的简单实例
2016/07/08 Javascript
angular实现form验证实例代码
2017/01/17 Javascript
将angular.js项目整合到.net mvc中的方法详解
2017/06/29 Javascript
vue多次循环操作示例
2019/02/08 Javascript
vue请求本地自己编写的json文件的方法
2019/04/25 Javascript
el-input 标签中密码的显示和隐藏功能的实例代码
2019/07/19 Javascript
javascript将扁平的数据转为树形结构的高效率算法
2020/02/27 Javascript
vue2.0 解决抽取公用js的问题
2020/07/31 Javascript
微信小程序实现上传照片代码实例解析
2020/08/04 Javascript
vue中的循环对象属性和属性值用法
2020/09/04 Javascript
[01:56]2014DOTA2西雅图邀请赛 MVP外卡赛老队长精辟点评
2014/07/09 DOTA
[01:02:02]DOTA2上海特级锦标赛A组败者赛 EHOME VS CDEC第二局
2016/02/25 DOTA
举例讲解Python中的list列表数据结构用法
2016/03/12 Python
Linux中Python 环境软件包安装步骤
2016/03/31 Python
Python文件与文件夹常见基本操作总结
2016/09/19 Python
使用python为mysql实现restful接口
2018/01/05 Python
Python设计模式之建造者模式实例详解
2019/01/17 Python
Django bulk_create()、update()与数据库事务的效率对比分析
2020/05/15 Python
Anaconda3中的Jupyter notebook添加目录插件的实现
2020/05/18 Python
Python 求向量的余弦值操作
2021/03/04 Python
希尔顿酒店中国网站:Hilton中国
2017/03/11 全球购物
通往英国高街的商店橱窗:Down Your High Street
2020/07/19 全球购物
留学推荐信中文范文三篇
2014/01/25 职场文书
品酒会策划方案
2014/05/26 职场文书
美术教师个人工作总结
2015/02/06 职场文书
JavaScript 对象创建的3种方法
2021/11/17 Javascript
Go本地测试解耦任务拆解及沟通详解Go本地测试的思路沟通的重要性总结
2022/06/21 Golang