我正在判断数据库是否与Laravel连接.

我查阅了文件,什么也找不到.我找到的最接近的东西是this,但这并不能解决我的问题.

我在不同的机器上安装了三个MySQL实例.下面是我试图实现的一个简化版本.

  1. 如果数据库1已连接,请将数据保存到其中
  2. 如果数据库1未连接,请判断数据库2是否已连接
  3. 如果数据库2已连接,请将数据保存到该数据库
  4. 如果数据库2未连接,请判断数据库3是否已连接
  5. 如果数据库3已连接,请将数据保存到其中

需要明确的是,在Laravel 5.1中是否有方法判断数据库是否已连接?

推荐答案

try 获取底层PDO实例.如果that失败,那么Laravel无法连接到数据库!

use Illuminate\Support\Facades\DB;

// Test database connection
try {
    DB::connection()->getPdo();
} catch (\Exception $e) {
    die("Could not connect to the database.  Please check your configuration. error:" . $e );
}

Mysql相关问答推荐

MySQL如何通过外键ID选择多行?

从 SQL 中的左连接和内连接中减去计数

保存SQL查询的中间结果

查询给出错误时的 mySQL Group_Concat 和 Case

添加一个日期字段大于另一个日期字段的要求

将每组的总和除以总数

如何使用 sequelize 将复合主键放在连接表中?

判断一对记录是否属于多个组ID

使用带有 ELSEIF 和 ELSE 的 3 列更新问题

MYSQL_ROOT_PASSWORD 已设置但在 docker 容器中获取“用户'root'@'localhost'的访问被拒绝(使用密码:YES)”

如何使用axios发布查询参数?

MySql 5.7 安装程序无法检测到 VS 2013 可再发行组件

JPQL 中的 LIMIT 子句替代方案是什么?

如何找到 MySQL 进程列表并杀死这些进程?

MySQLdb、mysqlclient 和 MySQL 连接器/Python 有什么区别?

错误 1698 (28000): 拒绝用户 'root'@'localhost' 的访问

如何在sequelize中定义多列的唯一索引

无法在 ubuntu 16 上使用 --skip-grant-tables 重置 root 密码

加入与子查询

mysql查询中<>的含义是什么?