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 将图片按创建时间进行分类存储的实现代码
Jan 05 PHP
PHP编码规范之注释和文件结构说明
Jul 09 PHP
PHP生成唯一的促销/优惠/折扣码(附源码)
Dec 28 PHP
关于Iframe如何跨域访问Cookie和Session的解决方法
Apr 15 PHP
PHP运行环境配置与开发环境的配置(图文教程)
Jun 04 PHP
腾讯微博提示missing parameter errorcode 102 错误的解决方法
Dec 22 PHP
php远程下载类分享
Apr 13 PHP
Smarty保留变量用法分析
May 23 PHP
PHPExcel简单读取excel文件示例
May 26 PHP
动态表单验证的操作方法和TP框架里面的ajax表单验证
Jul 19 PHP
Laravel框架路由设置与使用示例
Jun 12 PHP
php远程请求CURL实例教程(爬虫、保存登录状态)
Dec 10 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面向对象全攻略 (十七) 自动加载类
2009/09/30 PHP
php字符串分割函数explode的实例代码
2013/02/07 PHP
php对二维数组按指定键值key排序示例代码
2013/11/26 PHP
php-beanstalkd消息队列类实例分享
2017/07/19 PHP
jQuery 常见开发使用技巧总结
2009/12/26 Javascript
jquery.mousewheel实现整屏翻屏效果
2015/08/30 Javascript
javascript基础练习之翻转字符串与回文
2017/02/20 Javascript
JavaScript实现百度搜索框效果
2020/03/26 Javascript
原生js实现form表单序列化的方法
2018/08/02 Javascript
vue中node_modules中第三方模块的修改使用详解
2019/05/31 Javascript
JS实现进度条动态加载特效
2020/03/25 Javascript
JS实现图片幻灯片效果代码实例
2020/05/21 Javascript
Python文本相似性计算之编辑距离详解
2016/11/28 Python
Python实现统计给定字符串中重复模式最高子串功能示例
2018/05/16 Python
Django csrf 验证问题的实现
2018/10/09 Python
django-rest-framework解析请求参数过程详解
2019/07/18 Python
python文字和unicode/ascll相互转换函数及简单加密解密实现代码
2019/08/12 Python
python3 requests库文件上传与下载实现详解
2019/08/22 Python
基于YUV 数据格式详解及python实现方式
2019/12/09 Python
python读取图片的几种方式及图像宽和高的存储顺序
2020/02/11 Python
利用pyecharts读取csv并进行数据统计可视化的实现
2020/04/17 Python
python 浮点数四舍五入需要注意的地方
2020/08/18 Python
python 绘制国旗的示例
2020/09/27 Python
css3的transform中scale缩放详解
2014/12/08 HTML / CSS
HTML5+lufylegend实现游戏中的卷轴
2016/02/29 HTML / CSS
Tostadora意大利:定制T恤
2019/04/08 全球购物
关于礼仪的演讲稿
2014/01/04 职场文书
个人评价范文分享
2014/01/11 职场文书
2014年师德承诺书
2014/05/23 职场文书
雷锋式好少年事迹材料
2014/08/17 职场文书
担保书格式
2015/01/20 职场文书
盲山观后感
2015/06/11 职场文书
虎兄虎弟观后感
2015/06/12 职场文书
2016年国庆节宣传标语
2015/11/25 职场文书
java设计模式--建造者模式详解
2021/07/21 Java/Android
PHP中国际化的字符串排序和比较对象详解
2021/08/23 PHP