DB :: Connection не обновляется после динамического изменения имени БД через Config :: set в Laravel / Lumen? - PullRequest
1 голос
/ 24 июня 2019

Я пытаюсь подключиться к БД динамически через:

DB::disconnect('mysql');
Config::set('database.connections.mysql.database', 'db_1');

Когда я использую DB::table('table_from_db_1')->..., он работает отлично.Я получаю данные от db_1;

Однако, когда я пытаюсь получить DB::connection()->getDatabaseName(), он все равно возвращает исходное имя БД, а НЕ db_1.

Вопрос:

  1. Почему это происходит?
  2. Как эффективно проверить, действительно ли я подключился к динамической базе данных?

1 Ответ

0 голосов
/ 25 июня 2019

Для тех, у кого возникла та же проблема, решите проблему, используя purge вместо disconnect.

DB::purge('mysql'); // purge instead of disconnect
Config::set('database.connections.mysql.database', 'db_1');

Наконец, используйте DB::connection()->getPdo(); внутри try-catch, чтобы проверить правильность соединения.

...