【问题标题】:how connect to multiple hosts/databases in laravel [duplicate]如何连接到laravel中的多个主机/数据库[重复]
【发布时间】:2017-02-20 09:53:09
【问题描述】:

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

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

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

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

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

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

【问题讨论】:

标签: php mysql database laravel connection


【解决方案1】:

在您的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();

【讨论】:

  • 主要问题是我如何动态地做云,
  • 我的意思是添加更多连接或从数据库中检索连接并将其设置在 database.php 中
  • 有什么方法可以在database.php中追加新的连接?
  • 老实说,这绝不是解决问题的理想方法。但是,如果您仍想这样做,请尝试按照此处提到的步骤操作:[链接] (laravel.io/forum/…)。我相信你可以稍微修改一下并使用。
猜你喜欢
  • 2020-01-28
  • 1970-01-01
  • 2018-12-07
  • 2021-06-05
  • 1970-01-01
  • 1970-01-01
  • 2016-01-16
  • 1970-01-01
  • 2018-10-18
相关资源
最近更新 更多