laravel怎么灵活的切换数据库

laravel怎么灵活的切换数据库?
比如有一个数据库products,里面有3张表:

products_beijing
products_shanghai
products_hangzhou

另外有3个数据库beijingshanghaihangzhou,里面分别都有一张表,和上面数据库products中的数据表一一对应:

beijing->products
shanghai->products
hangzhou->products

我想复制数据库products里面的数据表的内容到其他三个对应数据库的表里面(不是进行备份):

源数据库                     复制到   新数据库
products->products_beijing    ===>    beijing->products
products->products_shanghai   ===>    shanghai->products
products->products_hangzhou   ===>    hangzhou->products

在env文件里面,现在连接的数据库是products

DB_DATABASE=products

问题:
怎么灵活一点的切换数据库,想使用哪个数据库就建立连接,用完就关闭连接,在控制器里面就完成了切换,而不用到配置文件里面添加配置和在模型里面修改对应的数据库。

阅读 3.9k
2 个回答

我感觉在配置里把三个数据库都加上更简单。

在配置文件database.php里面有, 给connections这一节增加一个配置, 键随意, 值参数 mysql的配置.
使用时, Model::on('键')->后面和以前一样.

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