• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    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();

    总结

    以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对脚本之家的支持。

    您可能感兴趣的文章:
    • Laravel5.1数据库连接、创建数据库、创建model及创建控制器的方法
    • Laravel5.5 数据库迁移:创建表与修改表示例
    • Laravel5.7 数据库操作迁移的实现方法
    • 在Laravel5.6中使用Swoole的协程数据库查询
    • Laravel框架DB facade数据库操作详解
    • Laravel监听数据库访问,打印SQL的例子
    • Laravel框架使用monolog_mysql实现将系统日志信息保存到mysql数据库的方法
    • PHP的Laravel框架结合MySQL与Redis数据库的使用部署
    • Laravel框架数据库CURD操作、连贯操作总结
    • PHP开发框架Laravel数据库操作方法总结
    • Laravel5.1 框架数据库操作DB运行原生SQL的方法分析
    上一篇:Laravel 默认邮箱登录改成用户名登录的实现方法
    下一篇:php实现简单的守护进程创建、开启与关闭操作
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

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