laravel使用多个数据库连接

Posted 伯牙绝音

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了laravel使用多个数据库连接相关的知识,希望对你有一定的参考价值。

1、配置.env文件

 1 DB_CONNECTION=mysql
 2 DB_HOST=127.0.0.1
 3 DB_PORT=3306
 4 DB_DATABASE=database_name
 5 DB_USERNAME=root
 6 DB_PASSWORD=
 7 
 8 DB_HOST_CENTER=127.0.0.1
 9 DB_PORT_CENTER=3306
10 DB_DATABASE_CENTER=database_center
11 DB_USERNAME_CENTER=root
12 DB_PASSWORD_CENTER=

2、配置config/database.php

        ‘mysql‘ => [
            ‘driver‘ => ‘mysql‘,
            ‘host‘ => env(‘DB_HOST‘, ‘localhost‘),
            ‘port‘ => env(‘DB_PORT‘, ‘3306‘),
            ‘database‘ => env(‘DB_DATABASE‘, ‘forge‘),
            ‘username‘ => env(‘DB_USERNAME‘, ‘forge‘),
            ‘password‘ => env(‘DB_PASSWORD‘, ‘‘),
            ‘charset‘ => ‘utf8‘,
            ‘collation‘ => ‘utf8_unicode_ci‘,
            ‘prefix‘ => ‘‘,
            ‘strict‘ => false,
            ‘engine‘ => null,
        ],
        ‘mysql_center‘ => [
            ‘driver‘ => ‘mysql‘,
            ‘host‘ => env(‘DB_HOST_CENTER‘, ‘localhost‘),
            ‘port‘ => env(‘DB_PORT_CENTER‘, ‘3306‘),
            ‘database‘ => env(‘DB_DATABASE_CENTER‘, ‘forge‘),
            ‘username‘ => env(‘DB_USERNAME_CENTER‘, ‘forge‘),
            ‘password‘ => env(‘DB_PASSWORD_CENTER‘, ‘‘),
            ‘charset‘ => ‘utf8‘,
            ‘collation‘ => ‘utf8_unicode_ci‘,
            ‘prefix‘ => ‘‘,
            ‘strict‘ => false,
            ‘engine‘ => null,
        ],

3、创建model

// 这个model将采用默认的‘mysql‘连接
class UserModel extends Model
{
// 数据库‘database‘中的users表
protected $table = "users"; }
// 这个model将使用mysql_center连接
class UserModel extends Model
{
  // 数据库‘dadtabase_center‘中的users表
protected $connection = ‘mysql_center‘; protected $table = "users"; }

 

以上是关于laravel使用多个数据库连接的主要内容,如果未能解决你的问题,请参考以下文章

Laravel 5:处理多个连接和测试

Laravel 配置连接多个数据库以及如何使用

在 Laravel 中使用 MySQL 数据库连接运行多个单元测试时出错

需要一种有效的方法来避免使用 Laravel 5 重复代码片段

如何使用 Laravel Eloquent 在不同服务器上的多个数据库之间执行连接查询?

laravel使用多个数据库连接