Как проверить, подключен ли к базе данных в Laravel 4?

Как проверить, подключен ли laravel к базе данных? Я искал вокруг, и я не могу найти ничего, что могло бы сказать мне, как это делается.

Ответы

Ответ 1

Вы можете использовать

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 файл.

По моему мнению, вам действительно не нужно проверять, подключено ли оно или нет, просто выполните правильное действие при закрытии обработки исключений.

Ответ 2

Вы можете использовать следующий код:

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

Ответ 3

рабочий:) -

Просто добавьте этот код в app/filters.php

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

    return "Error connecting to database";
});