在laravel中实现ORM模型使用第二个数据库设置
DB类连接第二个数据库的方法
在laravel中如果使用DB类进行第二个数据库的链接我们只需要设置config/database.php中添加一个数据库设置,如:
'mysql_branch' => [ 'driver' => 'mysql', 'host' => '192.168.2.56', 'port' => '3306', 'database' => 'test', 'username' => 'root', 'password' => 'root', 'charset' => 'utf8mb4', 'collation' => 'utf8mb4_unicode_ci', ],
在链接的时候加上一个函数DB::connection(‘mysql_branch')->table(‘table')->get()`
这样就可以了
使用ORM时候连接第二个数据库
在model类中添加私有属性如下:
class Branch extends Model { //取消时间戳 public $timestamps = false; //链接外部数据库 protected $connection = 'mysql_branch'; }
这样就可以了!
以上这篇在laravel中实现ORM模型使用第二个数据库设置就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。
相关推荐
-
Laravel ORM 数据model操作教程
随机查询 $data=Move::where('release',1) ->where('is_hot',1) ->where('is_status',1) ->orderBy(\DB::raw('RAND()')) ->take(4) ->get(); 1.ORM操作需要创建对应的model class User extends Eloquent 2.有两种方式使用数据操作对象 a. 使用new关键字创建对象后执行对象的方法 b. 直接调用static方法(实际并发静态方法
-
使用laravel的Eloquent模型如何获取数据库的指定列
使用Laravel的ORM--Eloquent时,时常遇到的一个操作是取模型中的其中一些属性,对应的就是在数据库中取表的特定列. 如果使用DB门面写查询构造器,那只需要链式调用select()方法即可: $users = DB::table('users')->select('name', 'email as user_email')->get(); 使用Eloquent的话,有两种方式: 使用select() $users = User::select(['name'])->get()
-
Laravel Eloquent ORM 多条件查询的例子
一.需求: 在数据搜索时最常见的就是调用同一个方法查询,而查询的字段却可能是其中一个或其中的几个字段一起组合查询,例如:对列表的搜索,基本上都是几个字段随意组合搜索.那么在model里就需要判断有那个字段组合,怎么组合. 网上找了很久,Laravel群里也问了几个,都说没有写过,于是自己写个吧.话不多说,见代码: function findByParam($param = array()) { $select = new Customer(); if (isset($param['name'])
-
laravel 解决Eloquent ORM的save方法无法插入数据的问题
学习laravel中: 今天在测试使用Eloquent ORM将数据使用 save()方法插入到mysql中时,出现了错误,如图所示: 在网上查阅资料后找到了原因: 使用save方法新增数据: laravel会默认维护 created_at , updated_at 两个字段,这两个字段都是存储时间戳,整型11位的,因此使用时需要在数据库添加这两个字段.如果不需要这个功能,只需要在模型里加一个属性:public $timestamps=false; 以及一个方法,可以将当前时间戳存到数据库 pr
-
Laravel Eloquent ORM 实现查询表中指定的字段
在使用Laravel ORM的Model方法find, get, first方法获取数据对象时返回的数据对象的attributes属性数组里会包含数据表中所有的字段对应的键值关系, 那么如何在ORM查询时只返回数据表中指定字段的数据呢?很多时候,文档上没有写明的用法需要我们去看源码来探究的,下面我们就来看一下这三个方法的实现. 由于ORM依赖了QueryBuilder来实现查询, 在QueryBuilder的源码里通过查看get,first方法的实现可以到,他们都可以接收一个数组参数来指定要查询
-
在laravel中实现ORM模型使用第二个数据库设置
DB类连接第二个数据库的方法 在laravel中如果使用DB类进行第二个数据库的链接我们只需要设置config/database.php中添加一个数据库设置,如: 'mysql_branch' => [ 'driver' => 'mysql', 'host' => '192.168.2.56', 'port' => '3306', 'database' => 'test', 'username' => 'root', 'password' => 'root', '
-
ORM模型框架操作mysql数据库的方法
[什么是ORM] ORM 全称是(Object Relational Mapping)表示对象关系映射: 通俗理解可以理解为编程语言的虚拟数据库: [理解ORM] 用户地址信息数据库表与对象的映射 [ORM的重要特性] 1.面向对象的编程思想,方便扩充 2. 少写(几乎不写)sql,提升开发效率 3.支持多种类型的数据库(常用的mysql,pg,oracle等等),方便切换 4.ORM技术已经相当成熟,能解决绝大部分问题 [ORM模型框架的选择] [SQLAlchemy ORM模型] 众所周知,
-
Laravel框架Eloquent ORM简介、模型建立及查询数据操作详解
本文实例讲述了Laravel框架Eloquent ORM简介.模型建立及查询数据操作.分享给大家供大家参考,具体如下: 注:以下知识点可能有不全面之处,望见谅 NO.1Eloquent ORM简介 Laravel所自带的Eloquent ORM是一个优美.简洁的ActiveRecord实现,用来实现数据库操作 每个数据表都有与之相对应的"模型(Model)"用于和数据交互 NO.2模型的建立 最基础的模型代码如下: namespace App; use Illuminate\Datab
-
在脚本中单独使用django的ORM模型详解
有时候在测试django中一些模块时,不想重新跑一整个django项目,只想跑单个文件,正好写在if __name__ == '__main__': 这样也不会打扰到正常的代码逻辑 方法 正常方法 大家都知道的方法就是'python manage.py shell',当然我知道这可能不是你需要的: 更好用的方法 在脚本中import模型前调用下面几行即可: import os, sys BASE_DIR = os.path.dirname(os.path.abspath(__file__)) #
-
在 Laravel 中 “规范” 的开发短信验证码发送功能
Laravel简介 Laravel是一套简洁.优雅的PHP Web开发框架(PHP Web Framework).它可以让你从面条一样杂乱的代码中解脱出来:它可以帮你构建一个完美的网络APP,而且每行代码都可以简洁.富于表达力. 在Laravel中已经具有了一套高级的PHP ActiveRecord实现 -- Eloquent ORM.它能方便的将"约束(constraints)"应用到关系的双方,这样你就具有了对数据的完全控制,而且享受到ActiveRecord的所有便利.Eloqu
-
PHP laravel中的多对多关系实例详解
数据表之间是纵横交叉.相互关联的,laravel的一对一,一对多比较好理解,官网介绍滴很详细了,在此我就不赘述啦,重点我记下多对多的关系 一种常见的关联关系是多对多,即表A的某条记录通过中间表C与表B的多条记录关联,反之亦然.比如一个用户有多种角色,反之一个角色对应多个用户. 为了测试该关联关系,我们沿用官网的用户角色示例: 需要三张数据表:users.roles 和 role_user,role_user 表按照关联模型名的字母顺序命名(这里role_user是中间表),并且包含 user_i
-
Laravel中数据迁移与数据填充的详细步骤
前言 这是一篇基础教程,对标 Laravel 文档中的数据迁移和数据填充,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍把. 关于Laravel数据库迁移的理解 最初看到laravel框架中迁移的时候,会以为这个迁移是把数据从一个数据库中迁到另一个数据库中,又或者是从一个服务器迁移到另一个服务器中.我自己学习有一个学习方法叫做顾名思义,所以所述是我的第一反应,但是学了以后发现这个迁移不是我理解中的迁移,但又不知道为什么叫做迁移,所以去百科查了一下. 迁移是指已经获得的知识.技能,甚
-
django的ORM模型的实现原理
ORM模型介绍 随着项目越来越大,采用写原生SQL的方式在代码中会出现大量的SQL语句,那么问题就出现了: SQL语句重复利用率不高,越复杂的SQL语句条件越多,代码越长.会出现很多相近的SQL语句. 很多SQL语句是在业务逻辑中拼出来的,如果有数据库需要更改,就要去修改这些逻辑,这会很容易漏掉对某些SQL语句的修改. 写SQL时容易忽略web安全问题,给未来造成隐患.SQL注入. ORM ,全称 Object Relational Mapping ,中文叫做对象关系映射,通过 ORM 我们可以
-
laravel 中某一字段自增、自减的例子
increment自增方法有两个参数:第一个为必填,代表要对数据表的哪个字段进行自增操作,第二个参数为可选,如果为空则表示每次递增1,如果填写了比如3,则表示每次在原有的基础上递增3. DB操作: DB::table('users')->increment('votes'); DB::table('users')->increment('votes', 5); DB::table('users')->decrement('votes'); DB::table('users')->d
随机推荐
- 在React框架中实现一些AngularJS中ng指令的例子
- Docker如何固定IP设置的方法
- vue.js框架实现表单排序和分页效果
- 实现只能输入数字的input不用replace方法
- AngularJS基础 ng-keydown 指令简单示例
- jQuery使用正则表达式限制文本框只能输入数字
- cmd rd命令 删除文件夹
- Android实现对图片放大、平移和旋转的功能
- 通过Javascript读取本地Excel文件内容的代码示例
- 使用MySQL的yum源安装MySQL5.7数据库的方法
- python递归查询菜单并转换成json实例
- JSP简介
- php传值方式和ajax的验证功能
- JQquery的一些使用心得分享
- JQuery实现的图文自动轮播效果插件
- Android设计模式之Builder模式解析
- windows服务器您试图从目录中执行CGI、ISAPI 或其他可执行程序,但该目录不允许执行程序
- C#实现Winform鼠标拖动窗口大小时设定窗口最小尺寸的方法
- c#文本加密程序代码示例
- 深入浅析Java反射机制