I am trying to check if a database is connected in Laravel.
I’ve looked around the documentation and can’t find anything. The closest thing I’ve found is this, but this doesn’t solve my problem.
I have three instances of MySQL that are set up on different machines. Below is a simplified version of what I am trying to achieve.
- If database 1 is connected, save data to it
- If database 1 is not connected, check if database 2 is connected
- If database 2 is connected save data to it
- If database 2 is not connected, check if database 3 is connected
- If database 3 is connected, save data to it
To be clear, is there a way to check that a database is connected in Laravel 5.1?
Advertisement
Answer
Try just getting the underlying PDO instance. If that fails, then Laravel was unable to connect to the database!
use IlluminateSupportFacadesDB; // Test database connection try { DB::connection()->getPdo(); } catch (Exception $e) { die("Could not connect to the database. Please check your configuration. error:" . $e ); }