使用Laravel多个数据库同时操作
使用Laravel多个数据库同时操作
这个问题已经有答案了:
我不确定这是否可能,但我有这样的情况与我的Laravel安装。
我运行3个现场数据库(随着时间的推移还会有更多),我有一个laravel安装,我想做的是使用不同的连接合并所有数据并运行一个查询以获取所有数据及其关系等...基本上想使用 eloquent。所有数据库在表设计,索引,键等方面都相同,但我不确定是否可能!
我希望能够编写一个查询,例如: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();
有人知道这是否可能。
admin 更改状态以发布 2023年5月23日
在您的数据库配置文件中 - 应该是 app/config/database.php - 您可以定义任何类型的多个数据库连接。实际上,您可以定义任意数量的连接。例如,如果您的应用程序必须从 2 个 MySQL 数据库中获取数据,则可以将它们分别定义:
请参阅此链接:http://fideloper.com/laravel-multiple-database-connections