Laravel 如何操作多个数据库

问题描述

项目中需要程序连接多个数据库(大概 30 来个,用户名密码相同,只是库名不同),在 Laravel 如何优雅的操作?

资料参考

我查阅过Laravel 模型实现多库查询或者多表映射 这篇文章,将所有的数据库链接全部定义在 config/databese.php 配置中,但是库实在太多,感觉不太可靠。能否在模型中修改所连接数据库名?

阅读 3.2k
4 个回答

模型里面只能指定连接名称,你可以写个service provider,往config/database.php里面添加配置项

默认情况下,所有的 Eloquent 模型都会使用应用程序中默认的数据库连接设置。如果你想为模型指定不同的连接,可以使用 $connection 属性:

database.php 声明多个链接,模型里面指定连接名

protected $connection = 'xxx';

你必须在 database.php 内声明。随后通过

protected $connection = 'connect';

或者

DB::connection('connect')

去链接,如果ip,username,pass都一致,你大可公用这些变量

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题