Laravel 和多个数据库连接

Laravel and multiple database connections

这可能是个愚蠢的问题。我有两个单独的数据库正在与 Laravel 4 一起使用。其中一个只能通过某个IP访问(安全原因),而另一个可以访问。我有两个不同的 mysql 连接。我已经看到使用这个的数据库连接测试:

if(DB::connection('mysql')->getDatabaseName()){ }

为了测试什么可以看到,什么不可以看到,我试着给mysql一个假密码。我得到了这个非常丑陋的错误,它无法连接。有没有办法让它在无法访问数据库的地方忽略它?只有一个 PHP class 在页面加载时调用安全数据库,但上述检查似乎不起作用。

通过laravel的核心代码,数据库连接失败时没有抛出特定的异常。

因此,解决方案是:

try {
    //Strings always evaluate to boolean true
    $dbConnected = (bool)DB::connection('mysql')->getDatabaseName();
}
catch (Exception $e)
{
    $dbConnected = false;
}

然后根据变量 $dbConnected.

编写代码