Eloquent ORM笔记

基本操作

新增

$user = new User;
$user->name = 'John';
$user->save();
$insertedId = $user->id;//从对象取得 id 属性值

使用模型的 Create 方法

class User extends Model {
    protected $guarded = ['id', 'account_id'];//黑名单,不会被更新
}

// 在数据库中建立一个新的用户...
$user = User::create(['name' => 'John']);

// 以属性找用户,若没有则新增并取得新的实例...
$user = User::firstOrCreate(['name' => 'John']);

// 以属性找用户,若没有则建立新的实例...
$user = User::firstOrNew(['name' => 'John']);

删除

$this->where($where)->delete();

或者
$user = User::find(1);
$user->delete();

更新

return $this->where($where)->update($data);

或者
$user = User::find(1);
$user->update($data);

查找

//取出所有记录,all()得出的是对象集合,可以遍历
$this->all()->toArray();

//根据主键取出一条数据
$one = $this->find('2');
return array(
  $one->id,
  $one->title,
  $one->content,
);

//查找id=2的第一条数据
$this->where('id', 2)->first()->toArray();

//查找id>0的所有数据
$this->where('id', '>', '0')->get()->toArray();

//查找id>0的所有数据,降序排列
$this->where('id', '>', '0')->orderBy('id', 'desc')->get()->toArray();

//查找id>0的所有数据,降序排列,计数
$this->where('id', '>', '0')->orderBy('id', 'desc')->count();

//offset,limit
$this->where('id', '>', '0')->orderBy($order[0], $order[1])->skip($offset)->take($limit);

//等同于
$this->where('id', '>', '0')->orderBy($order[0], $order[1])->offset($offset)->limit($limit);

更多:

//条件类:

where('id', '>', '0')
where('id', '>=', '0')
where('id', '<', '0')
where('id', '<=', '0')
where('id', 'like', 'name%')

whereIn($key, $array)
whereNotIn($key, $array)
whereBetween($key, $array)
whereNotBetween($key, $array)

orWhereIn($key, $array)
orWhereNotIn($key, $array)
orWhereBetween($key, $array)
orWhereNotBetween($key, $array)

//结果方法:Illuminate\Database\Query\Builder

first()取第一个
get()取所有
all()取所有(无条件)

//聚合方法
count()统计
avg()求平均值
sum()
max()
min()
时间: 2024-10-31 07:07:29

Eloquent ORM笔记的相关文章

Eloquent ORM 概述、模型定义及基本查询详解

1.引子 在正式进入本节的之前,让我们先来看看什么是ORM. ORM,即 Object-Relational Mapping(对象关系映射),它的作用是在关系型数据库和业务实体对象之间作一个映射,这样,我们在操作具体的 业务对象时,就不需要再去和复杂的SQL语句打交道,只需简单的操作对象的属性和方法即可. ORM 两种最常见的实现方式是 ActiveRecord 和 DataMapper,ActiveRecord 尤其流行,在很多框架中都能看到它的身影.两者的区别主要在于 ActiveRecor

PHP数据库操作:使用ORM

之前我发了一篇博文PHP数据库操作:从MySQL原生API到PDO,向大家展示PHP是如何使用MySQL原生API.MySQLi面向过程.MySQLi面向对象.PDO操作MySQL数据库的.本文介绍如何使用ORM操作数据库. 什么是ORM呢?引用网友的话: ORM 对象关系映射,O(Object) 对象,在项目中就是实体,更加精确的来说就是数据Model,也可以说持久化类.R(Relation) 关系数据,M (Mapping)映射,将对象映射到关系数据,将关系数据映射到对象的过程.更加直观理解

Laravel框架学习笔记(一)环境搭建_php实例

为什么选择laravel框架,是因为laravel框架目前是Php最流行的框架,深入研究后发现和asp.net mvc框架在功能上基本上是伯仲之间.只是各自的实现方法不同. php在windows下的开发环境搭建 1.下载php地址http://windows.php.net/download/注意相关版本,我的服务器用的iis7.5 32 系统 VC11 x86 Non Thread Safe 解压之后放到相应的目录,配置php.ini文件,这里注意里面的dll启用的相关配置,这个网上有也不多

orm获取关联表里的属性值_php实例

ORM--关系对象模型 对象关系映射(英语:Object Relational Mapping,简称ORM,或O/RM,或O/R mapping),是一种程序技术,用于实现面向对象编程语言里不同类型系统的数据之间的转换.从效果上说,它其实是创建了一个可在编程语言里使用的"虚拟对象数据库". laravel中的Eloquent ORM用于和数据表互动,其中每个数据库表会和一个对应的「模型」互动,想要了解请查看官方文档或自行百度.获取关联表里的属性值代码如下: /** * [getCont

详解PHP的Laravel框架中Eloquent对象关系映射使用_php技巧

零.什么是 EloquentEloquent 是 Laravel 的 'ORM',即 'Object Relational Mapping',对象关系映射.ORM 的出现是为了帮我们把对数据库的操作变得更加地方便. Eloquent 让一个 'Model类' 对应一张数据库表,并且在底层封装了很多 'function',可以让 Model 类非常方便地调用. 来看一段如下代码: <?php class Article extends \Eloquent { protected $fillable

Composer使用

是什么 如果你知道yum.apt-get.npm.bower等命令中的一种或者多种,那么,你也能很快知道composer是什么了.没错,它就是PHP里快速安装类库的.平时,我们安装一个PHP类库,需要搜索->下载:使用composer,我们只要知道包名,直接composer insatll就可以了. PHP 语言本身就带有强大的网络功能.文件管理功能和丰富的系统 API,Composer 也只是一段 PHP 脚本而已. 引自Composer中文网的描述: 是 PHP 用来管理依赖(depende

Laravel5.0学习--01 入门

本文以laravel5.0.22为例. 环境需求 Laravel5.0 框架有一些系统上的需求: PHP 版本 >= 5.4 Mcrypt PHP 扩展 OpenSSL PHP 扩展 Mbstring PHP 扩展 Tokenizer PHP 扩展 在 PHP 5.5 之后, 有些操作系统需要手动安装 PHP JSON 扩展包.如果你是使用 Ubuntu,可以通过 apt-get install php5-json 来进行安装. 我该使用Laravel吗 来自知乎网友的讨论:PHP框架Larav

laravel吐槽系列之一

最近项目中经常使用到了laravel框架,对于这个框架之前只是弱弱地接触了一点,没有深入接触,这下有时间好好研究它了(主要是不得不研究了).说实话,laravel让我打开眼界了,之前对框架的使用一直停留在yii1.X阶段.总之那句话说的对,刚接触laravel的phper就只有两个反应,一个是捡到宝了,一个是觉得它是垃圾.我能,就属于后者,所以现在在努力让自己爱上laravel.但是一切总是有那么硌人的地方,我就想写写一些东西来吐槽laravel. 吐槽点:laravel的vendor引用的组件

Laravel 5 框架入门(四)完结篇_php实例

Page 和评论将使用 Eloquent 提供的"一对多关系".最终,我们将得到一个个人博客系统的雏形,并布置一个大作业,供大家实战练习. 1. 初识 Eloquent Laravel Eloquent ORM 是 Laravel 中非常重要的部分,也是 Laravel 能如此流行的原因之一.中文文档在: 1. http://laravel-china.org/docs/5.0/eloquent 2. http://www.golaravel.com/laravel/docs/5.0/