laravel框架配置(Laravel框架实现多数据库连接操作详解)
类别:编程学习 浏览量:2790
时间:2022-01-21 00:04:55 laravel框架配置
Laravel框架实现多数据库连接操作详解本文实例讲述了Laravel框架实现多数据库连接操作。分享给大家供大家参考,具体如下:
这篇文章介绍了在laravel中连接2个数据库的方法
一、定义连接
进入到数据库配置文件 app/config/database.php 中,你可以定义多个形式相同或不同的数据库连接。例如,你想从2个 MYSQL 数据中抓取资料到你的程式中,你可以这样定义:
|
<?php return array ( 'default' => 'mysql' , 'connections' => array ( # Our primary database connection 'mysql' => array ( 'driver' => 'mysql' , 'host' => 'host1' , 'database' => 'database1' , 'username' => 'user1' , 'password' => 'pass1' 'charset' => 'utf8' , 'collation' => 'utf8_unicode_ci' , 'prefix' => '' , ), # Our secondary database connection 'mysql2' => array ( 'driver' => 'mysql' , 'host' => 'host2' , 'database' => 'database2' , 'username' => 'user2' , 'password' => 'pass2' 'charset' => 'utf8' , 'collation' => 'utf8_unicode_ci' , 'prefix' => '' , ), ), ); |
默认连接任然是mysql,除非指定其他连接,如mysql2,我们的连接都是mysql连接。
2、指定连接
现在我们来指定mysql2连接,怎么做呢:
Schema 数据库迁移
用 Schema facade 可以创建任意连接。现在只需要用 connection()
方法就可以在指定的数据库中创建table
|
Schema::connection( 'mysql2' )->create( 'some_table' , function ( $table ) { $table ->increments( 'id' ): }); |
如果不加connection()
方法,就是在默认的数据库中创建table
查询
和上面一样,用connection()
方法
|
$users = DB::connection( 'mysql2' )->select(...); |
Eloquent
在模型中指定连接数据库方法,在模型中设置 $connection 变量
|
<?php class SomeModel extends Eloquent { protected $connection = 'mysql2' ; } |
在控制器中用 setConnection 方法也可连接指定数据库
|
<?php class SomeController extends BaseController { public function someMethod() { $someModel = new SomeModel; $someModel ->setConnection( 'mysql2' ); $something = $someModel ->find(1); return $something ; } } |
跨数据库连接是可以的,但是也可能带来一些问题,这取决于你的数据库或者数据库配置,所以要谨慎使用。
原文地址:http://fideloper.com/laravel-multiple-database-connections
希望本文所述对大家基于Laravel框架的PHP程序设计有所帮助。
原文链接:https://blog.csdn.net/wong_gilbert/article/details/80346684
您可能感兴趣
- laravel权限控制(laravel-admin 在列表页添加自定义按钮的例子)
- laravel数据返回格式(laravel 关联关系遍历数组的例子)
- laravel接口规范(Laravel5.5 手动分页和自定义分页样式的简单实现)
- laravel自定义数据库驱动(laravel框架数据库配置及操作数据库示例)
- laravel 数据库迁移(Laravel数据库读写分离配置的方法)
- laravel查询数据库视图(Laravel5.7 数据库操作迁移的实现方法)
- phplaravel快速开发平台(laravel框架实现去掉URL中index.php的方法)
- laravel线上如何调试(解决Laravel 不能创建 migration 的问题)
- laravel怎么同时连接数据库(Laravel框架实现多个视图共享相同数据的方法详解)
- laravel 后台管理框架(laravel-admin 管理平台获取当前登陆用户信息的例子)
- laravel后台框架(laravel-admin的多级联动方法)
- laravel框架如何查询空的信息(Laravel 已登陆用户再次查看登陆页面的自动跳转设置方法)
- laravel队列是如何触发的(laravel 事件/监听器实例代码)
- laravel框架运行找不到视图(解决laravel资源加载路径设置的问题)
- laravel后台管理(关于laravel后台模板laravel-admin select框的使用详解)
- laravel框架的运行机制(Laravel5框架自定义错误页面配置操作示例)
- 清华大学难考吗(清华大学考研录取分数线)
- 观花盆栽佛肚竹盆景制作及养护(观花盆栽佛肚竹盆景制作及养护)
- 春天养佛肚竹,做好这几件事,叶绿根壮寓意好 越养越旺家(春天养佛肚竹做好这几件事)
- 律界衣品最好,时尚圈学识数高,41岁的Amal堪称现实版的傲骨贤妻(时尚圈学识数高)
- 刘智泰确认出演《Good Wife》 担纲男一号(刘智泰确认出演Good)
- 《傲骨之战》剧终 律政女魔头Diane,为什么是大女主天花板(傲骨之战剧终律政女魔头Diane)
热门推荐
- sqlserver查询表结构(sql server递归子节点、父节点sql查询表结构的实例)
- 网站如何提高用户体验
- Ext.DomHelper用法
- 租用云服务器或者云主机价格(云主机租用注意事项有哪些?)
- aspwebserver怎么操作(EasyWebServer怎么用?EasyWebServer网站服务器软件使用教程)
- 查sqlserver锁表语句(Sql Server如何查看被锁的表及解锁的方法)
- vue实现添加购物车小球(Vue实现简易购物车案例)
- cssborder三角形怎么画(使用CSS的border属性绘制各种几何形状的方法)
- jquery五子棋javascript(原生JavaScript实现简单五子棋游戏)
- SQL语句中单引号
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9