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判断页面是否是微信打开的示例(微信打开网页)
Apr 25 PHP
PHP include任意文件或URL介绍
Apr 29 PHP
PHP的fsockopen、pfsockopen函数被主机商禁用的解决办法
Jul 08 PHP
PHP简单实现无限级分类的方法
May 13 PHP
php加密解密字符串示例
Oct 13 PHP
浅析php中array_map和array_walk的使用对比
Nov 20 PHP
微信公众号模板消息群发php代码示例
Dec 29 PHP
php UNIX时间戳用法详解
Feb 16 PHP
[原创]PHP实现SQL语句格式化功能的方法
Jul 28 PHP
thinkphp5.0自定义验证规则使用方法
Nov 16 PHP
Laravel事件监听器用法实例分析
Mar 12 PHP
解决thinkPHP 5 nginx 部署时,只跳转首页的问题
Oct 16 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
mysq GBKl乱码
2006/11/28 PHP
利用Memcached在php下实现session机制 替换PHP的原生session支持
2010/08/21 PHP
PHP自动选择 连接本地还是远程数据库
2010/12/02 PHP
PHP的curl实现get,post和cookie(实例介绍)
2013/06/17 PHP
生成随机字符串和验证码的类的PHP实例
2013/12/24 PHP
PHP 之 写时复制介绍(Copy On Write)
2014/05/13 PHP
PHP+mysql+Highcharts生成饼状图
2015/05/04 Javascript
原生JS实现美图瀑布流布局赏析
2015/09/07 Javascript
JavaScript实现的经典文件树菜单效果
2015/09/08 Javascript
浅析JavaScript函数的调用模式
2016/08/10 Javascript
浅谈jQuery效果函数
2016/09/16 Javascript
JS异步文件分片断点上传的实现思路
2016/12/25 Javascript
Node.js利用js-xlsx处理Excel文件的方法详解
2017/07/05 Javascript
jQuery实现动态添加节点与遍历节点功能示例
2017/11/09 jQuery
Mint-UI时间组件起始时间问题及时间插件使用
2018/08/20 Javascript
Three.js实现3D机房效果
2018/12/30 Javascript
JS字典Dictionary类定义与用法示例
2019/02/01 Javascript
jQuery动态生成的元素绑定事件操作实例分析
2019/05/04 jQuery
Vue请求java服务端并返回数据代码实例
2019/11/28 Javascript
JavaScript常用工具函数库汇总
2020/09/17 Javascript
区分vue-router的hash和history模式
2020/10/03 Javascript
python获取指定网页上所有超链接的方法
2015/04/04 Python
详解Python如何获取列表(List)的中位数
2016/08/12 Python
Python读写/追加excel文件Demo分享
2018/05/03 Python
使用EduBlock轻松学习Python编程
2018/10/08 Python
如何在python开发工具PyCharm中搭建QtPy环境(教程详解)
2020/02/04 Python
Python魔术方法专题
2020/06/19 Python
Electric官网:美国高级眼镜和配件品牌
2020/06/04 全球购物
学校经典推荐信
2013/10/30 职场文书
企事业单位求职者的自我评价
2013/12/28 职场文书
2015年毕业实习工作总结
2014/12/12 职场文书
2015年医院护理部工作总结
2015/04/23 职场文书
黑暗中的舞者观后感
2015/06/18 职场文书
四十年同学聚会致辞
2015/07/28 职场文书
教你如何用Python实现人脸识别(含源代码)
2021/06/23 Python
Python访问Redis的详细操作
2021/06/26 Python