Laravel多个数据库同时使用所有数据库

时间:2017-04-10 07:18:12

标签: php mysql laravel

我不确定这是否可行,但我在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();

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

1 个答案:

答案 0 :(得分:2)

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

请参阅此链接:http://fideloper.com/laravel-multiple-database-connections