如何检查是否连接到Laravel 4中的数据库?

时间:2013-12-11 14:27:24

标签: laravel laravel-4

如何检查laravel是否已连接到数据库?我四处搜寻,找不到任何可以告诉我这是怎么做的事。

3 个答案:

答案 0 :(得分:34)

您可以使用

if(DB::connection()->getDatabaseName())
{
   echo "Connected sucessfully to database ".DB::connection()->getDatabaseName().".";
}

它将为您提供已连接数据库的数据库名称,因此您可以使用它来检查您的应用是否已连接到该数据库。

但是...... Laravel只有在需要来自数据库的东西时才会连接数据库,并且在连接尝试时,如果发现任何错误,它会引发PDOException,所以这就是你能做到的将您的用户重定向到友好页面:

App::error(function(PDOException $exception)
{
    Log::error("Error connecting to database: ".$exception->getMessage());

    return "Error connecting to database";
});

将其添加到您的app/filters.php文件中。

在我看来,你真的不需要检查它是否已被置信,只需在异常处理闭包中采取适当的行动。

答案 1 :(得分:5)

您可以使用以下代码:

try{
   DB::connection()->getDatabaseName();
}catch(Exception $e){
   echo $e->getMessage();
}

答案 2 :(得分:0)

工作:) -

刚刚将此代码添加到app / filters.php

App::error(function(PDOException $exception)
{
    Log::error("Error connecting to database: ".$exception->getMessage());

    return "Error connecting to database";
});