Laravel多个数据库同时使用所有[重复]

Posted

技术标签:

【中文标题】Laravel多个数据库同时使用所有[重复]【英文标题】:Laravel Multiple Databases Use all at the same time [duplicate] 【发布时间】:2017-09-05 03:11:43 【问题描述】:

我不确定这是否可能,但我在安装 Laravel 时遇到了这种情况。

我正在运行 3 个实时数据库(随着时间的推移会更多),我安装了一个 laravel,我想要做的是使用不同的连接合并所有数据并运行 1 个查询以获取所有关系的所有数据等等....基本上想用雄辩的。所有数据库在表设计、索引、键等方面都是相同的,但我不确定它是否可能!

我希望能够编写一个查询,例如:Users::all();,它一次使用所有连接。

我知道它会起作用的唯一方法就是这样做。

'connection1' => [
            '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,
        ],
'connection2' => [
            '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,
        ],

DB::connection('connection1')->table('table_here')->get();

任何人都知道这是否可能。

【问题讨论】:

检查这个:http://fideloper.com/laravel-multiple-database-connections 我目前正在使用不同的连接并基于它进行查询,但我希望能够编写一个查询,例如:Users::all(); 一次使用所有连接。跨度> 【参考方案1】:

在您的数据库配置文件中 - 可能是 app/config/database.php - 您可以定义多个任何类型的数据库连接。事实上,您可以定义任意数量的连接。例如,如果您的应用程序必须从 2 个 MySQL 数据库中提取数据,您可以分别定义它们:

查看此链接:http://fideloper.com/laravel-multiple-database-connections

【讨论】:

以上是关于Laravel多个数据库同时使用所有[重复]的主要内容,如果未能解决你的问题,请参考以下文章

laravel 使用多个数据库,查询语法 [重复]

如何在返回所有错误的同时使用 PHP laravel 中的公共类有选择地验证多个字段

Laravel - 一次多个数据库[重复]

如何连接到 Laravel 中的另一个数据库(多个数据库 HUNDREDS)[重复]

在laravel中动态连接多个数据库[重复]

Laravel 5.7:基于多个键检测集合中的重复项(完成)但如何将重复项移动到另一个集合?