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()
目录
相关文章
|
SQL 关系型数据库 程序员
什么是ORM?为什么要使用ORM?底层原理是什么?
什么是ORM?为什么要使用ORM?底层原理是什么?
710 0
|
SQL 关系型数据库 MySQL
Django框架之ORM
Django框架之ORM
82 0
Django框架之ORM
Beego学习——orm实现简单的crud
Beego学习——orm实现简单的crud
74 0
peewee模块基本使用-ORM
peewee模块基本使用-ORM
peewee模块基本使用-ORM
|
SQL 关系型数据库 MySQL
C++ ORM ODB入门
1.ORM ORM, Object Relational Mapping, 对象关系映射,用来将基于对象的数据结构映射到SQL的数据结构中。即将基于对象的数据映射到关系表中的字段,然后我们可以通过对象提供的接口来操作数据库,而无需写sql语句来操作数据库。
6025 0
|
SQL 算法 数据库
什么是ORM?为什么用ORM?浅析ORM的使用及利弊
什么是ORM ORM(Object-relational mapping),中文翻译为对象关系映射,是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术。简单的说,ORM是通过使用描述对象和数据库之间映射的元数据,将程序中的对象自动持久化到关系数据库中。
2306 0
|
前端开发 关系型数据库 MySQL
ChainDesk-Beego之ORM模型Model介绍
beego ORM 是一个强大的 Go 语言 ORM 框架,orm模块主要是处理MVC中的M(models)。她的灵感主要来自Django ORM 和 SQLAlchemy。 对象关系映射(Object Relational Mapping,简称ORM)模式是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术。
3269 0