Laravel和多个数据库连接

时间:2015-01-22 01:26:15

标签: php mysql laravel-4

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

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

为了测试可以看到的内容以及无法看到的内容,我试图给mysql一个假密码。我得到了这个非常难看的错误,它是如何连接的。有没有办法让它无法到达数据库,只是忽略它?只有一个PHP类在页面加载时调用了仅安全的数据库,但上面的检查似乎并没有起作用。

1 个答案:

答案 0 :(得分:2)

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

解决方案因此是:

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

然后根据变量$dbConnected来处理您的代码。