Я делаю Laravel 5.7 проект, в котором вход в систему основан на динамическое соединение с базой данных . Сначала мы находим имя базы данных, предоставленное пользователем, в качестве ввода и добавляем префикс к этому коду в back-конец.как database_ACV123 .Теперь мы проверяем это имя базы данных на сервере базы данных.если присутствует имя db, тогда мы устанавливаем все детали на config таким образом
DB::purge('mysql');
Config::set("database.connections.dynamic_db", [
"driver" => "mysql",
"host" => $db_host,
"database" => $db_name,
"username" =>$db_user,
"password" => $db_password,
"engine"=>"InnoDB" ]);
;
Config::set('database.default', 'dynamic_db');
DB::reconnect('dynamic_db');
, это работает, но проблема заключается в том, когда я проверяю или получаю вход в систему в детальной форме пользователя Auth:: user () на другом маршруте или контроллере .затем он всегда возвращает запись из базы данных, имя которой упоминается в файле ENV .почему?
так, как я могу получить Auth :: user () деталь из в настоящее время вошли в базу данных.означает, что он должен возвращать информацию о пользователе в базу данных, которую я предоставляю на Config .