调用未定义的方法 Illuminate\Database\MySqlConnection::connect()

Call to undefined method Illuminate\Database\MySqlConnection::connect()

我正在使用动态连接多个数据库的方法,当我 运行 我的应用出现以下错误时

Call to undefined method Illuminate\Database\MySqlConnection::connect()

I 运行 composer dump-autoload and composer update 但错误不断出现。

代码如下:

public function handle($request, Closure $next) {
    if (($request->session()->get('empresaId')) === null)
        return redirect()->route('inicio')->withErrors(['error' => __('Por favor inicie sesión en alguna empresa antes de intentar esta acción')]);

    $empresa = new empresa();
    DB::purge('empresa');
    //echo($empresa->hostname);
    Config::set('database.connections.empresa.host', $empresa->hostname);
    Config::set('database.connections.empresa.database', $empresa->database);
    Config::set('database.connections.empresa.username', $empresa->username);
    Config::set('database.connections.empresa.password', $empresa->password);

    DB::connect('empresa');

    return $next($request);
}

有人知道我为什么收到那条消息吗?以及如何修复它?

报告的错误解释了问题:

Call to undefined method Illuminate\Database\MySqlConnection::connect()

这是因为 class 中不存在此方法。我猜您尝试调用的方法是 connection().

尝试改变这个:

 DB::connect('empresa');

对此:

 DB::connection('empresa');