我不确定这是否可能,但我有这个场景与我的拉氏安装。
我正在运行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();

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

最佳答案

在datbase配置文件(可能是app/config/database.php)中,可以定义任意类型的多个数据库连接。实际上,您可以定义任意多个连接。例如,如果应用程序必须从两个MySQL数据库中提取数据,则可以分别定义它们:
查看此链接:http://fideloper.com/laravel-multiple-database-connections

关于php - Laravel多个数据库同时使用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43316999/

10-09 17:50
查看更多