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()
目录
相关文章
|
6月前
|
SQL 关系型数据库 PHP
深入理解 Laravel 的 ORM:Eloquent
【8月更文挑战第31天】
128 0
|
8月前
|
缓存 Java 数据库连接
从ORM到实践:Hibernate与JPA的详细指南
【6月更文挑战第25天】ORM技术如Hibernate和JPA简化了Java与数据库交互。Hibernate是流行的ORM框架,JPA是Java EE的规范,两者结合提供了高效的数据持久化方案。配置Hibernate涉及数据库连接和实体映射。通过注解定义实体类,如`@Entity`、`@Table`、`@Id`等。持久化操作通过Session接口完成,例如保存对象。缓存、加载策略(延迟加载 vs. 立即加载)和查询优化是提升性能的关键。理解这些概念有助于选择和优化ORM使用。
178 0
|
SQL XML 缓存
认识 ORM 框架 Hibernate,为什么 2022 年了还在谈论它?
前言 Hibernate 作为一种全自动 ORM 框架,在几年前常与 Spring、Struts2 一起使用,并称 SSH,作为主流的企业级应用框架。伴随着 MyBatis 的诞生,以及 Hibernate 本身的一些缺陷,如今 Hibernate 已经慢慢淡出了大家的视野。
988 0
认识 ORM 框架 Hibernate,为什么 2022 年了还在谈论它?
|
SQL 数据库 Python
django -- ORM实现作者增删改查
django -- ORM实现作者增删改查
|
缓存 JavaScript 前端开发
NestJS:理解ORM(Object Relational Mapping)
NestJS:理解ORM(Object Relational Mapping)
152 0
|
数据库连接 PHP 数据库
Yii2如何使用ActiveRecord?
Yii2如何使用ActiveRecord?
172 0
|
SQL 关系型数据库 程序员
什么是ORM?为什么要使用ORM?底层原理是什么?
什么是ORM?为什么要使用ORM?底层原理是什么?
1472 0
Beego学习——orm实现简单的crud
Beego学习——orm实现简单的crud
118 0
|
SQL 算法 数据库
什么是ORM?为什么用ORM?浅析ORM的使用及利弊
什么是ORM ORM(Object-relational mapping),中文翻译为对象关系映射,是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术。简单的说,ORM是通过使用描述对象和数据库之间映射的元数据,将程序中的对象自动持久化到关系数据库中。
3217 0
|
PHP 数据库
你可能不知道的 Laravel Eloquent 操作
你可能不知道的 Laravel Eloquent 操作
114 0