如何连接到laravel中的多个主机/数据库

时间:2016-10-11 18:34:33

标签: php mysql database laravel connection

我是laravel的新手,想知道如何在Laravel中连接多个主机和多个数据库?

如果是,我怎么能动态地做到这一点?

如何动态添加新的主机连接?

如何动态添加新的数据库连接?

Config::set("database.connections.mysql", [
    "host" => "...",
    "database" => "...",
    "username" => "...",
    "password" => "...
]);

这是我找到的,但我不知道如何进一步工作。

1 个答案:

答案 0 :(得分:0)

在您的database.php中,您可以添加多个数据库。

'mysql' => [
        'driver'    => 'mysql',
        'host'      => '',
        'port'      => '',
        'database'  => '',
        'username'  => '',
        'password'  => '',
        'charset'   => 'utf8',
        'collation' => 'utf8_unicode_ci',
        'prefix'    => '',
        'strict'    => false,
    ],

    'mysql2' => [
        'driver'    => 'mysql',
        'host'      => '',
        'port'      => '',
        'database'  => '',
        'username'  => '',
        'password'  => '',
        'charset'   => 'utf8',
        'collation' => 'utf8_unicode_ci',
        'prefix'    => '',
        'strict'    => false,
    ],

要使用数据库,您可以使用变量来使用特定连接,例如:

$db1 = DB::connection('mysql');
$db2 = DB::connection('mysql2');

其中mysql和mysql2是您在database.php中定义数据库的名称

要运行任何原始SQL查询,请使用:

$user1 = $db1->table('user_login')
        ->select('*')
        ->get();

$user2 = $db2->table('user_login')
        ->select('*')
        ->get();