在Laravel 项目里面,如果需要使用多个数据库,其实是很简单的事情。
第一步,首先需要在 .env
文件中定义第二个数据库连接:
1 | DB_CONNECTION=mysql |
第二步,在 config/database.php
文件中配置第二个数据库连接:
1 | 'mysql' => [ |
使用方式一
在模型中指定需要连接的数据库:
1 | // 如果没有指定数据库连接,则会使用默认的 mysql 连接 |
这样,当再次使用该模型时,其背后连接的就是新的数据库。
1 | UserModel::find(1); |
使用方式二
上面是为模型指定数据库连接,那么有没有什么办法为单个查询指定连接?
也是可以的。
使用该方式之前,也需要提前配置好需要连接的数据库
1 | $data = DB::connection("mysql_center") |
这样就可以在不改变模型属性的情况下,查询到其他数据库的数据了。