laravel 动态数据库连接后用户登陆问题,
有多个用户数据库,登陆后动态切换到指定数据库,
数据库1:DB_0
数据库2:DB_1
创建动态连接中间件:
public function handle(Request $request, Closure $next)
{
if (Auth::check()) {
$server_code = Cache::get('database_' . Auth::user()->memb___id);
} elseif (empty($request->server_code) == false) {
$server_code = $request->server_code;
} elseif (empty($request->serverCode) == false) {
$server_code = $request->serverCode;
}
if (empty($server_code) == false) {
\DB::disconnect(); // 断开连接
\DB::purge('MuOnline'); // 清理缓存
\Config::set('database.connections.MuOnline.database', 'MuOnline_' . $server_code);
\DB::reconnect(); // 重新连击
}
return $next($request);
}
// ================================================
登陆界面有选择数据库选项
我选择数据库1登陆成功后,现在出现的问题就是连接的是数据库2去了,我明明选择的是数据库1.
推荐文章: