我正在尝试创建 laravel 项目,该项目的登录将基于动态数据库。首先,我们找到用户指定的数据库名称作为输入,并在该代码上附加前缀。例如 database_ACV123 。现在,我们在数据库服务器上检查该数据库名称。如果数据库名称存在,那么我们通过 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 上提供的数据库。