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 相关文章推荐
windows下升级PHP到5.3.3的过程及注意事项
Oct 12 PHP
VIM中设置php自动缩进为4个空格的方法详解
Jun 14 PHP
php多个字符串替换成同一个的解决方法
Jun 18 PHP
强制PHP命令行脚本单进程运行的方法
Apr 15 PHP
PHP中使用smarty生成静态文件的例子
Apr 24 PHP
php开启openssl的方法
May 15 PHP
php文件读取方法实例分析
Jun 20 PHP
PHP中Session可能会引起并发问题
Jun 26 PHP
ajax+php控制所有后台函数调用
Jul 15 PHP
Yii2实现多域名跨域同步登录退出
Feb 04 PHP
PHP 实现字符串翻转(包含中文汉字)的实现代码
Apr 01 PHP
laravel unique验证、确认密码confirmed验证以及密码修改验证的方法
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
新浪新闻小偷
2006/10/09 PHP
php仿discuz分页效果代码
2008/10/02 PHP
thinkphp在php7环境下提示Cannot use ‘String’ as class name as it is reserved的解决方法
2016/09/30 PHP
PHP文件类型检查及fileinfo模块安装使用详解
2019/05/09 PHP
PHP文件上传小程序 适合初学者学习!
2019/05/23 PHP
php解决crontab定时任务不能写入文件问题的方法分析
2019/09/16 PHP
JavaScript作用域链示例分享
2014/05/27 Javascript
详解js中的apply与call的用法
2016/07/30 Javascript
Layui数据表格判断编辑输入的值,是否为我需要的类型详解
2019/10/26 Javascript
vue-cli3.X快速创建项目的方法步骤
2019/11/14 Javascript
Echarts.js无法引入问题解决方案
2020/10/30 Javascript
vue 使用 sortable 实现 el-table 拖拽排序功能
2020/12/26 Vue.js
如何在 Vue 中使用 JSX
2021/02/14 Vue.js
[04:00]DOTA2解说界神雕侠侣 CJ第四天谷子现场过生日
2013/07/30 DOTA
Python编程pygame模块实现移动的小车示例代码
2018/01/03 Python
tensorflow 变长序列存储实例
2020/01/20 Python
Python基于Tkinter编写crc校验工具
2020/05/06 Python
python如何写出表白程序
2020/06/01 Python
Python过滤掉numpy.array中非nan数据实例
2020/06/08 Python
python基于exchange函数发送邮件过程详解
2020/11/06 Python
Levi’s西班牙官方网站:李维斯,著名的牛仔裤品牌
2020/08/20 全球购物
医学检验专业大学生求职信
2013/11/18 职场文书
超市业务员岗位职责
2013/12/05 职场文书
写给女朋友的道歉信
2014/01/12 职场文书
先进党支部事迹材料
2014/01/13 职场文书
创先争优活动方案
2014/02/12 职场文书
小学标准化建设汇报材料
2014/08/16 职场文书
社区创先争优承诺书
2014/08/30 职场文书
加强作风建设心得体会
2014/10/22 职场文书
行政主管岗位职责
2015/02/03 职场文书
幼儿园教师岗位职责
2015/04/02 职场文书
入团介绍人意见范文
2015/06/04 职场文书
大学运动会加油稿
2015/07/22 职场文书
《当代神农氏》教学反思
2016/02/23 职场文书
java代码实现空间切割
2022/01/18 Java/Android
分布式架构Redis中有哪些数据结构及底层实现原理
2022/03/13 Redis