【发布时间】: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();
任何人都知道这是否可能。
【问题讨论】:
-
我目前正在使用不同的连接并基于它进行查询,但我希望能够编写一个查询,例如:
Users::all();一次使用所有连接。跨度>