本文摘要:
引言本期继续我们的laravel学习,主要说一说laravel使用eloquent orm 模型 读取数据库条目的几个常用方法。因为设计的原因,laravel支持的链式操作 本质上方法的返回值归属于差别的类。 所以在使用方法之前务必明确挪用的是哪个类的谁人方法,返回的是什么类型的数据。学习时间让我们从最简朴的例子开始,就是获取数据库表内所有的条目,返回一个荟萃。
引言本期继续我们的laravel学习,主要说一说laravel使用eloquent orm 模型 读取数据库条目的几个常用方法。因为设计的原因,laravel支持的链式操作 本质上方法的返回值归属于差别的类。
所以在使用方法之前务必明确挪用的是哪个类的谁人方法,返回的是什么类型的数据。学习时间让我们从最简朴的例子开始,就是获取数据库表内所有的条目,返回一个荟萃。
使用下面的方法即可实现:$allContacts = Contact::all();通过检察源码我们知道all方法,其实是挪用了 get 方法并默认返回所有字段。我们为这个查询添加条件,一遍精简输出内容:$vipContacts = Contact::where('vip', true)->get();筛选出所有vip的合约。
eloquent门面为我们提供了许多好用的链式操作方法, 在query builder筛选出合适的条目后,返回一个eloquent collection,或者是一个 基类的collection工具,可以直接使用荟萃的方法操作数据集:$newestContacts = Contact::orderBy('created_at', 'desc')->take(10)->get();不外大家需要注意的是,orderBy take 这些方法,都是荟萃的操作,也就是说 在执行之前,数据库查询是全量的,这对于数据库服务器和web服务器不再一台主机的情况, 网络传输量是个不小的磨练。所以我们推荐使用where语句举行数据库SQL操作,将合适的效果集返回,这样精简了数据库负载, 再者,使用荟萃的操作方法,对效果集举行进一步的花样化,效率会高的多。对于web应用,可以简朴地使用前几期我们使用的 firstOrFail 方法,便捷地去除第一个条目, 或者找不到的时候,抛出异常。

public function show($contactId){ return view('contacts.show')->with('contact', Contact::findOrFail($contactId));}其中,first(), firstOrFail(), find(), findOrFail(),都是用于返回单个条目,单条记载的方法。如果返回的是多个条目,就不能用这些方法了:$vipContacts = Contact::where('vip', true)->get();有一个尺度的方法 get,就是返回一个 eloquent collection 工具。

如果你的数据库条目牢固, 且是少量数据,那么直接用$contacts = Contact::all();把记载全部拿出来就好了。如果数据量有点大,要分批次将效果返回, 可是又不知道总量几多,则可以使用分块返回的方式,手动指定每次查询的条目数, 依次将效果集拿出来:Contact::chunk(100, function ($contacts) { foreach ($contacts as $contact) {}});只需挪用chunk方法,就能帮你办到。
顺带再说一下聚合函数,使用关系型数据库很大的因素就是其拉取关系型数据很高效, 因此也内置了许多聚合函数用于数据聚合操作。好比常用的数据统计,计数,求平均,求和等等等等,laravel挪用起来的方法也极为简朴, 像下面这样:$countVips = Contact::where('vip', true)->count();$sumVotes = Contact::sum('votes');$averageSkill = User::avg('skill_level');固然了,现实场景一般都要有查询约束条件,我们只用链式挪用, 在完成约束后,使用聚合函数统计即可。写在最后本文主要讲了数据库查询相关的内容,包罗获取全量数据,获取单条数据, 分块拉取数据,以及聚合函数等,这些通例操作荟萃上期讲的查询约束项, 基本上可以涵盖编程中的大多数需求了。
Happy coding :-) 我是@法式员小助手,连续分享编程知识,接待关注。
本文关键词:开云体育app下载手机版,3分钟,漫笔,Laravel,模型,查询,数据库,的,几个
本文来源:开云体育官方下载-www.ynxzxf.com