Laravel如何同时连接多个数据库详解

 更新时间:2019年08月13日 08:26:01   作者:WXiangQian  
这篇文章主要给大家介绍了关于Laravel如何同时连接多个数据库的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用Laravel具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧

前言

上文说到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利用DWZ.CN服务生成短网址

    PHP利用DWZ.CN服务生成短网址

    这篇文章主要介绍了PHP利用DWZ.CN服务生成短网址,小编觉得挺不错的,现在分享给大家,也给大家做个参考。
    2019-08-08
  • Yii2 rbac权限控制之rule教程详解

    Yii2 rbac权限控制之rule教程详解

    这篇文章主要介绍了Yii2 rbac权限控制之rule教程详解的相关资料,非常不错具有参考借鉴价值,需要的朋友可以参考下
    2016-06-06
  • yii的CURD操作实例详解

    yii的CURD操作实例详解

    这篇文章主要介绍了yii的CURD操作技巧,以实例形式详细分析了基于yii框架的增删改查的具体用法,非常具有实用价值,需要的朋友可以参考下
    2014-12-12
  • Yii实现微信公众号场景二维码的方法实例

    Yii实现微信公众号场景二维码的方法实例

    这篇文章主要给大家介绍了关于Yii实现微信公众号场景二维码的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-08-08
  • PHP实现163邮箱自动发送邮件

    PHP实现163邮箱自动发送邮件

    163邮箱实用性非常高。那么基于php如何实现163邮箱自动发送邮件功能呢,下面脚本之家小编给大家分享具体实现代码
    2016-03-03
  • PHP中遍历二维数组_以不同形式的输出操作实例

    PHP中遍历二维数组_以不同形式的输出操作实例

    下面小编就为大家带来一篇PHP中遍历二维数组_以不同形式的输出操作实例。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-08-08
  • php array_values 返回数组的所有值详解及实例

    php array_values 返回数组的所有值详解及实例

    这篇文章主要介绍了php array_values 返回数组的所有值详解及实例的相关资料,需要的朋友可以参考下
    2016-11-11
  • typecho统计博客所有文章的字数实例详解

    typecho统计博客所有文章的字数实例详解

    这篇文章主要为大家介绍了typecho统计博客所有文章的字数实例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-01-01
  • ThinkPHP中url隐藏入口文件后接收alipay传值的方法

    ThinkPHP中url隐藏入口文件后接收alipay传值的方法

    这篇文章主要介绍了ThinkPHP中url隐藏入口文件后接收alipay传值的方法,可实现针对第三方接口的URL地址中的?进行转换处理,是非常实用的技巧,需要的朋友可以参考下
    2014-12-12
  • php注册和登录界面的实现案例(推荐)

    php注册和登录界面的实现案例(推荐)

    下面小编就为大家带来一篇php注册和登录界面的实现案例(推荐)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-10-10

最新评论