2016-05-13 8 views
0

私はlaravelで接続が正常かどうかをテストするにはどうすればよいですか?

if (DB::connection()) { 
    // 
} 

を試してみましたが、これはエラーを生成します。

[PDOException] 
SQLSTATE[HY000] [1045] Access denied for user 'homestead'@'localhost' (using password: YES) 

私はすべてが接続して罰金が、エラーなしで、 であれば、私はトライキャッチなしのソリューションを探していたコードからテストしたいです.. ...

+0

これは、MySQLサーバーにログインするために使用されたユーザー名とパスワードの組み合わせが正しくないことを意味します。 '.env'ファイルのユーザ名とパスワードの値を確認してください。 –

+0

私はユーザー名とパスワードが間違っていることを知っています、私はユーザー名とパスワードが間違っているかどうかをテストするコードが必要です... – fico7489

+0

なぜtry/catctですか? – Borjante

答えて

1

、可能な限り最良の選択肢のあなたの1は、tryおよびcatchを使用しています。

try{ 
    Schema::hasTable('mytable'); 
    // or \DB::statement('show Databases'); 
}catch(\PDOException $e){ 
    //This means there is definitely error connecting to database 
    //I don't understand why you don't want to catch me :(
} 

上記のコードは、ヘルパーの機能や特性、またはあなたが選んだ精神的なアイデアで使用できます。 他の可能性がありますまたはsystem()など

-3

ただ単純な職人のコマンドです。

php artisan migrate:status 
+0

私はコードからテストしたいです。 – fico7489

0

try catchステートメントでこのコードを使用すると、例外をキャッチしてより良いメッセージを出力したり、別の場所にリダイレクトしたりできます。参考のため

:@Lukeが指摘したように

http://php.net/manual/en/language.exceptions.php http://www.w3schools.com/php/php_exception.asp

+0

例外ではありませんが、テーブルが存在するかどうかをテストできるように、接続が正常かどうかをテストしたい: Schema :: hasTable( 'some_table') – fico7489

関連する問題