首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

通过 Laravel Eloquent 模型实现简单增删改查操作

「ActiveRecord」是 ORM 一种实现模式,Eloquent 则是 Laravel「ActiveRecord」。...因为是查询构建器,所以我们还可以在模型查询操作查询结果进行排序和分页: $posts = Post::where('views', '>', 0)->orderBy('id', 'desc')->offset...同样,Eloquent 也为我们提供了快捷更新方法 updateOrCreate,该方法首先会根据传入参数模型对应记录进行更新,如果发现对应记录不存在,则会将更新数据作为初始数据插入数据库,并保存(...「约定优于配置」理念在 Eloquent 应用,最后还给大家演示了如何通过 Eloquent 实现数据库增删改查,当然,Eloquent 功能远不仅如此,还支持很多强大功能,比如批量赋值、软删除...本系列教程首发在Laravel学院(laravelacademy.org)

7.9K20

laravel框架数据库操作、查询构建器、Eloquent ORM操作实例分析

本文实例讲述了laravel框架数据库操作、查询构建器、Eloquent ORM操作。...分享给大家供大家参考,具体如下: 1、连接数据库 laravel连接数据库配置文件位于config/database.php,在其中connection字段包含laravel所支持数据库配置信息...Eloquent默认会管理数据表创建时间、更新时间,对应数据表created_at、updated_at字段,你需要在创建表时包含这两个字段。...在使用create批量添加时,需要在模板通过fillable指定可以赋值字段,也可以guard指定不允许赋值字段。...《php常见数据库操作技巧汇总》 希望本文所述大家基于Laravel框架PHP程序设计有所帮助。

13.3K51
您找到你想要的搜索结果了吗?
是的
没有找到

基于独立 Laravel Eloquent 组件编写 ORM 模型类

ORM 及其实现模式 接下来我们来看看如何实现 MVC 模式 M,即模型类。...,将对数据表 SQL 执行转化为模型类方法调用。...两者主要区别是: 在 Active Record 模式,模型类与数据表一一应,一个模型实例对应一行数据表记录,操作模型实例等同于操作表记录; 而在 Data Mapper 模式,业务领域(Domain...下载 Eloquent ORM 相关扩展包 Eloquent ORM 作为 Laravel 框架自带 ORM 实现,还可以在 Laravel 框架之外作为独立 ORM 组件使用。...MVC 模式在博客应用落地,下篇教程,我们将探索如何通过现代工程化方式管理前端资源和依赖,我们将引入 NPM、Webpack、Laravel Mix、jQuery 和 Bootstrap,并基于这些工具和框架替换博客应用主题

1.9K10

3分钟短文:Laravel 模型查询数据库几个关键方法

引言 本期继续我们laravel学习,主要说一说laravel使用eloquent orm 模型 读取数据库条目的几个常用方法。 ?...eloquent门面为我们提供了很多好用链式操作方法, 在query builder筛选出合适条目后,返回一个eloquent collection,或者是一个 基类collection对象,可以直接使用集合方法操作数据集...所以我们推荐使用where语句进行数据库SQL操作,将合适结果集返回,这样精简了数据库负载, 再者,使用集合操作方法,结果集进行进一步格式化,效率会高多。...比如常用数据统计,计数,求平均,求和等等等等,laravel调用起来方法也极为简单, 像下面这样: $countVips = Contact::where('vip', true)->count()...写在最后 本文主要讲了数据库查询相关内容,包括获取全量数据,获取单条数据, 分块拉取数据,以及聚合函数等,这些常规操作集合上期讲查询约束项, 基本上可以涵盖编程大多数需求了。

2.1K40

Laravel Eloquent 模型关联关系(下)

在前面两篇教程,学院君陆续给大家介绍了 Eloquent 模型类支持七种关联关系,通过底层提供关联方法,我们可以快速实现模型间关联,并且进行关联查询。...注:实际开发为了提高查询性能,我们往往是在 posts 表冗余提供一个 comments_count 字段,每新增一条评论,该字段值加 1,查询时候直接取该字段即可,从而提高查询性能。...Eloquent 提供了这种同步机制帮助我们更新子模型时触发父模型更新时间 updated_at 字段值更新,要让该机制生效,需要在子模型配置 $touches 属性: // 要触发更新父级关联关系...: 结语 好了,关于关联关系我们就介绍到这里,我们分了三篇篇幅来介绍 Eloquent 模型管理关系,回顾一下,主要包含以下内容: 七种关联关系定义:一一、一多、多多、远层一多、一多态关联...希望你看完学院君这一系列教程可以了解并完全掌握 Eloquent 模型定义和使用,有什么问题,欢迎随时与我交流。

19.5K30

Laravel 模型关联基础教程详解

Laravel 定义模型关联是每个 Laravel 开发者可能已经做过不止一次事情。但是在试图实现关联时可能会遇到各种问题。因为 Laravel 有各种各样关联,你应该选择哪一个?...当涉及到查询模型时,我们如何充分利用模型关联功能? Laravel 模型关联可能会让人糊涂。...如果你不完全理解 Laravel 关联在这一点上是如何工作,别担心,读完这篇文章后,你会更好地理解它。 我们应该使用哪个模型关联? 要回答这个问题,首先你要知道有哪些可用选项。...举个例子,一个 User 模型和一个 Passport 模型会成为一关联。一个用户只能拥有一张通行证,同样,一张通行证也只属于一个用户。 让我们看看如何在代码定义这种关联。 <?...user() { return $this- belongsTo(App\User::class); } } 一多 你可以在 Laravel 定义下一个关联是一多关联。

5.5K31

Laravel代码简洁之道和性能优化

思考:如何提高Model层查询DB效率?如何精简代码?...经过一番调研之后发现了一个堪称神器扩展:laravel-upsert 这个 Laravel 扩展为查询构建器和 Eloquent 添加了 INSERT & UPDATE (UPSERT) 和 INSERT...如果互相喜欢,则添加双向联系人关系,插入之前校验是否存在,存在则更新type等字段,不存在则插入双向数据 我们通过这个场景能非常好体会laravel-upsert强大,不仅减少了代码量,也减少了sql...当然了还是有一些注意点和坑,下面分享一下 注意问题 要根据需求添加唯一索引 根据官方文档说明,我们model必须添加这行代码,才能以Eloquent方式用 use \Staudenmeir\...LaravelUpsert\Eloquent\HasUpsertQueries; 因为我们数据库时间是int类型,不是laravel默认时间格式,并且我们插入时间和更新时间也不是laravel默认字段

5.7K20

orm 系列Eloquent演化历程2

本文是orm系列第三篇,也是Eloquent演化第二篇,Eloquent系列会尝试着讲清楚Eloquent如何一步一步演化到目前功能强大版本,但是毕竟个人能力有限,不可能分析非常完善,总会有不懂地方...,也是laravel中一大亮点Artisan,Artisan是 Laravel 自带命令行接口名称,此处不做具体介绍了,有机会再细说,当我们在命令行执行php artisan command时候...:是前一篇讲对于Active Record模式Model功能,包括了Model、Builder和Relation功能,忘记可以去看前一篇orm 系列Eloquent演化历程1内容 Query...本文最后讲下Eloquent中新增对象之间关系:多态关系,以下内容摘自[ Laravel 5.3 文档 ] Eloquent ORM —— 关联关系 表结构 多态关联允许一个模型在单个关联下属于多个不同模型...当访问 commentable 关联时,ORM 根据commentable_type 字段来判断所属模型类型并返回相应模型实例。

2.4K30

Laravel5.5+ 使用API Resources快速输出自定义JSON方法详解

如果你熟悉使用API进行输出,构架前后端分离网络应用,那么你应该会发现,当我们使用Eloquent从数据库取出数据后,如果想以JSON格式进行输出,那么我们可以使用- toJson()这个方法,这个方法可以直接将我们...这个时候,我们会想,如何将model某些字段隐藏起来,不输出到JSON。另外一种情况,比如字段是password等一些敏感信息时候,我们不希望JSON数据里包含这样敏感信息。...php namespace App; use Illuminate\Database\Eloquent\Model; class User extends Model { /** * 不希望在序列化中出现字段放入该数组...为了简化场景,我们客户只有一个送货地址,所以只会出现一一情况。...,请戳官网文档: https://laravel.com/docs/5.7/eloquent-resources 本文主要讲解了Laravel5.5+ 使用API Resources快速输出自定义JSON

4.4K30

orm 系列Eloquent使用1

Eloquent ORM 本文会是一个Eloquent使用教程,在此之前,我们先讲述下怎么搭建环境,完整系列请查看orm 基础环境搭建 记录下怎么用docker搭建laravel环境 新建项目composer...create-project --prefer-dist laravel/laravel eloquent 添加laradock cd eloquent;git init;git submodule...,让phpstorm能自动提示laravel类。...,在闭包设置了表字段,最后通过build真正执行数据库操作,最后调用到了blueprintbuild方法,传入connection是数据库连接抽象,负责数据库执行操作,grammar负责sql拼装...总结 本文主要是介绍了使用docker来构建laravel开发环境,同时,我们也介绍了怎么说会用phpstorm来开发laravel,搭建好环境后,主要介绍了EloquentSchema Builder

1.7K20

Laravel Eloquent ORM 实现查询表中指定字段

在使用Laravel ORMModel方法find, get, first方法获取数据对象时返回数据对象attributes属性数组里会包含数据表中所有的字段对应键值关系, 那么如何在ORM查询时只返回数据表中指定字段数据呢...由于ORM依赖了QueryBuilder来实现查询, 在QueryBuilder源码里通过查看get,first方法实现可以到,他们都可以接收一个数组参数来指定要查询字段: find方法实现是在...columns = $columns; } return $this- processor- processSelect($this, $this- runSelect()); } 所以使用Laravel...ORM方法查询返回指定字段可通过如下三种方法来实现 $data = ModelA::find($id, ['column1', 'column2']); $data = ModelA::first...以上这篇Laravel Eloquent ORM 实现查询表中指定字段就是小编分享给大家全部内容了,希望能给大家一个参考。

3.1K21

Laravel系列4.3】模型Eloquent ORM使用(一)

其实,Laravel Eloquent ORM 也是 Active Record 实现,这也是现在 ORM 主流。...对于 Laravel 中标准 Eloquent 模型类来说,每个表都应该有两个字段,一个是 updated_at ,另一个是 created_at ,分别是两个时间戳字段,用于记录数据创建时间和修改时间...如果你表中有这两个字段的话,那么在 Model 操作过程,你可以忽略这两个字段操作,Model 系统会自动设置它们。...等等,不对呀,我们在模型里面定义是一个 gender() 方法,怎么在外面使用是一个属性?别急,我们再来看看源码,看看框架如何把调用属性变成调用一个方法。...当然,这只是最简单一种一关联,Laravel 框架还可以实现非常复杂关联,包括一多,多一,多关联,这些内容还是大家自己研究怎么使用吧,毕竟我们文章主旨还是在于搞清楚它们是怎么运行

8.8K20

Laravel学习笔记(四)——模型,更安全数据存取

而在Laravel模型就相当于一个功能完善数据库Helper类,不需要用户自己写,只要掌握基本用法就能很快速方便对数据库进行操作,哪怕你一点不懂SQL语句。...看了接下来Laravel模型使用之后你就会爱上LaravelEloquent ORM模型,这也是我直接介绍模型而不讲解其他数据库操作原因。...Eloquent ORM Laravel Eloquent ORM 提供了漂亮、简洁 ActiveRecord 实现来和数据库交互。每个数据库表都有一个对应「模型」用来与该表交互。...false;//默认情况下,Eloquent 会默认数据表存在 created_at 和 updated_at 这两个字段。...add/update new/获取一个Student对象 各个字段名进行赋值 保存到数据库 use App\Student;//Student模型 $xiaoming = Student::find

2K00

Laravel学习笔记(四)——模型,更安全数据存取

而在Laravel模型就相当于一个功能完善数据库Helper类,不需要用户自己写,只要掌握基本用法就能很快速方便对数据库进行操作,哪怕你一点不懂SQL语句。...看了接下来Laravel模型使用之后你就会爱上LaravelEloquent ORM模型,这也是我直接介绍模型而不讲解其他数据库操作原因。...Eloquent ORM Laravel Eloquent ORM 提供了漂亮、简洁 ActiveRecord 实现来和数据库交互。每个数据库表都有一个对应「模型」用来与该表交互。...false;//默认情况下,Eloquent 会默认数据表存在 created_at 和 updated_at 这两个字段。...add/update new/获取一个Student对象 各个字段名进行赋值 保存到数据库 use App\Student;//Student模型 $xiaoming = Student::find

1.7K00

3分钟短文:Laravel slug,让你url地址更“好记”

而友好url地址更是能让人一目了然,增加用户好感。同时对于爬虫也是好示例,搜索引擎可以友好地展开工作了。 [img] 本文就来讲讲,如何laravel构造友好url路由。 啥是slug?...因为数字42用户而言没有实际意义,而对数据库来说是索引字段。...使用 composer 安装: composer require cviebrock/eloquent-sluggable:^4.3 模型引入 Slug 功能 引入 eloquent-sluggable...以及slug字段对应数据库表字段来源,此处是 name 字段。 接着我们需要修改 events 表,为其追加 slug 字段。...findBySlugOrFail('laravel-hacking-and-coffee'); 归根结底,就是使用slug字段记录查询字符串,而slug字段在对应关系定义为 source => ‘name

3.5K11

Laravel 5 系列入门教程(一)【最适合中国人 Laravel 教程】

跟随本教程走完一遍,你将会得到一个基础包含登录简单 blog 系统,并将学会如何使用一些强大 Laravel 插件和 composer 包(Laravel 插件也是 composer 包)。...本系列教程使用 Laravel 5.0 版本,5.1 版本去掉了本系列教程主要讲解元素(Auth 系统),不建议使用 5.1 来学习。...模型 Models 接下来我们将接触Laravel最为强大部分,Eloquent ORM,真正提高生产力地方,借用库克一句话:鹅妹子英!...在 Eloquent ,数据库每一张表对应着一个 Model 类(当然也可以对应多个)。...如果你想深入地了解 Eloquent,可以阅读系列文章:深入理解 Laravel Eloquent(一)——基本概念及用法 ---- 接下来进行 Article 和 Page 类对应 articles

3.4K20
领券