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()
目录
相关文章
|
监控 Dubbo Java
带你读《Apache Dubbo微服务开发从入门到精通》—— 一、 限流降级(上)
带你读《Apache Dubbo微服务开发从入门到精通》—— 一、 限流降级(上)
422 84
|
人工智能 搜索推荐 数据挖掘
让 AI 回答更精准 ◎ 来学学这些Prompt入门小技巧
这篇文章介绍了如何通过有效的提示词来提升向AI提问的质量,使其回答更加精准,并提供了实用的指导原则和案例分析。
让 AI 回答更精准 ◎ 来学学这些Prompt入门小技巧
|
Java 关系型数据库 数据库连接
Javaweb之Mybatis入门程序的详细解析
本文详细介绍了一个MyBatis入门程序的创建过程,从环境准备、Maven项目创建、MyBatis配置、实体类和Mapper接口的定义,到工具类和测试类的编写。通过这个示例,读者可以了解MyBatis的基本使用方法,并在实际项目中应用这些知识。
338 11
|
人工智能 测试技术 决策智能
玩转智能体魔方!清华推出AgentSquare模块化搜索框架,开启AI智能体高速进化时代
清华大学研究团队提出模块化LLM智能体搜索(MoLAS)框架AgentSquare,将LLM智能体设计抽象为规划、推理、工具使用和记忆四大模块,实现模块间的轻松组合与替换。通过模块进化和重组机制,AgentSquare显著提升了智能体的适应性和灵活性,并在多个基准测试中表现出色,平均性能提高17.2%。此外,该框架还具备可解释性,有助于深入理解智能体架构对任务性能的影响。论文地址:https://arxiv.org/abs/2410.06153
545 10
|
边缘计算 人工智能 搜索推荐
大数据与零售业:精准营销的实践
【10月更文挑战第31天】在信息化社会,大数据技术正成为推动零售业革新的重要驱动力。本文探讨了大数据在零售业中的应用,包括客户细分、个性化推荐、动态定价、营销自动化、预测性分析、忠诚度管理和社交网络洞察等方面,通过实际案例展示了大数据如何帮助商家洞悉消费者行为,优化决策,实现精准营销。同时,文章也讨论了大数据面临的挑战和未来展望。
1208 3
|
存储 弹性计算 前端开发
阿里云服务领域Agent智能体:从概念到落地的思考、设计与实践
本文讲述了作者团队在阿里云的服务领域Agent是如何设计与实践的,以及到目前为止的一些阶段性成果,作者做出了总结和整理。
|
XML 存储 Web App开发
技术笔记:UserData使用总结
技术笔记:UserData使用总结
720 0
|
JSON JavaScript 前端开发
钉钉小程序 dd.httpRequest封装
通过封装 dd.httpRequest,实现 无状态会话。
2463 0
钉钉小程序 dd.httpRequest封装
|
SQL 缓存 前端开发
基于python flask 实现留言板系统登陆注册 毕业设计 附完整代码
基于python flask 实现留言板系统登陆注册 毕业设计 附完整代码
869 0
基于python flask 实现留言板系统登陆注册 毕业设计 附完整代码
|
网络协议 算法 网络架构
三十四、RIP协议和距离向量算法
三十四、RIP协议和距离向量算法
三十四、RIP协议和距离向量算法