资讯专栏INFORMATION COLUMN

深入理解 Laravel Eloquent(一)——基本概念及用法

Edison / 1765人阅读

摘要:原文发表在我的个人网站深入理解一基本概念及用法在本系列文章中,我将跟大家一起学习的基本用法,探索的各种高级功能,理解背后的运行原理,并最终达到深入理解灵活使用的目的。下一步深入理解二中间操作流

原文发表在我的个人网站:深入理解 Laravel Eloquent(一)——基本概念及用法

在本系列文章中,我将跟大家一起学习 Eloquent 的基本用法,探索 Eloquent 的各种高级功能,理解 Eloquent 背后的运行原理,并最终达到深入理解、灵活使用 Eloquent 的目的。本系列教程是 Laravel 4 系列入门教程(一)【最适合中国人的Laravel教程】的扩展篇,没看过的话别忘了去看一下哦~

本篇是本系列的第一篇,主要讲述 Eloquent 的基本概念和用法。

什么是 Eloquent

Eloquent 是 Laravel 的 ORM,即 Object Relational Mapping,对象关系映射。ORM 的出现是为了帮我们把对数据库的操作变得更加地方便。

Eloquent 让一个 Model类 对应一张数据库表,并且在底层封装了很多 function,可以让 Model 类非常方便地调用。我们以 Learn-Laravel-4 中的 app/models/Article.php 为例大致说明一下。这个文件的代码如下:

php

protected $fillable = [];这一行代码在这里没有任何价值,是 generator 自动生成的,在此我们不做讨论。
这个类简直再简单不过了,没有指定命名空间,没有构造函数,如果那一行没有意义的代码也不算上的话,这个文件就只有两个有实际意义的东西: ArticleEloquent。没错,Eloquent 就是这么屌炸天,只需要继承一下 Eloquent 类,就可以干 first() find() where() orderBy() 等非常非常多的事情,这就是面向对象的强大威力。

Eloquent 基本用法

Eloquent 中文文档在:http://laravel-china.org/docs/eloquent

废话不多说,下面我将直接展示 Eloquent 的几种常见用法的代码,在 MarkDown 编辑器里面纯手打,若有拼写错误大家见谅。

找到 id 为 2 的文章打印其标题
php$article = Article::find(2);
echo $article->title;
查找标题为“我是标题”的文章,并打印 id
php$article = Article::where("title", "我是标题")->first();
echo $article->id;
查询出所有文章并循环打印出所有标题
php$articles = Article::all(); // 此处得到的 $articles 是一个对象集合,可以在后面加上 `->toArray()` 变成多维数组。
foreach ($articles as $article) {
    echo $article->title;
}
查找 id 在 10~20 之间的所有文章并打印所有标题
php$article = Article::where("id", ">", 10)->where("id", "<", 20)->get();
foreach ($articles as $article) {
    echo $article->title;
}
查询出所有文章并循环打印出所有标题,按照 updated_at 倒序排序
php$article = Article::where("id", ">", 10)->where("id", "<", 20)->orderBy("updated_at", "desc")->get();
foreach ($articles as $article) {
    echo $article->title;
}
基础使用要点

每一个继承了 Eloquent 的类都有两个 固定用法 Article::find($number) Article::all(),前者会得到一个带有数据库中取出来值的对象,后者会得到一个包含整个数据库的对象合集。

所有的中间方法如 where() orderBy() 等都能够同时支持 静态非静态链式 两种方式调用,即 Article::where()...Article::....->where()

所有的 非固定用法 的调用最后都需要一个操作来 收尾,本片教程中有两个 收尾操作->get()->first()

如果你不理解为什么 Article 这个类可以使用 ->where() ->get() 等很多方法的话,说明你需要去读一下 PHP 对象继承的文档了:对象继承。


下一步:深入理解 Laravel Eloquent(二)——中间操作流(Builder)

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/31912.html

相关文章

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

    摘要:原文发表在我的个人网站系列入门教程一最适合中国人的教程本教程示例代码见大家在任何地方卡住,最快捷的解决方式就是去看我的示例代码。在此我推荐一个全量中国镜像。 原文发表在我的个人网站:Laravel 5 系列入门教程(一)【最适合中国人的 Laravel 教程】 本教程示例代码见:https://github.com/johnlui/Learn-Laravel-5 大...

    EscapedDog 评论0 收藏0
  • ElasticSearch重要念及简单用法

    摘要:接着上一篇搭建的环境继续学习,从概念开始,本篇文章将介绍中的一些重要概念及部分原理性概念,以下内容中简称为。表示字段,具体指的是中的某一个数据字段。可以在故障时提供备用服务。 接着上一篇ElasticSearch搭建的环境继续学习,从概念开始,本篇文章将介绍ElasticSearch中的一些重要概念及部分原理性概念,以下内容中简称为ES。 一、ES部分名词解释 1.NRT:英文全称为N...

    Corwien 评论0 收藏0
  • ElasticSearch重要念及简单用法

    摘要:接着上一篇搭建的环境继续学习,从概念开始,本篇文章将介绍中的一些重要概念及部分原理性概念,以下内容中简称为。表示字段,具体指的是中的某一个数据字段。可以在故障时提供备用服务。 接着上一篇ElasticSearch搭建的环境继续学习,从概念开始,本篇文章将介绍ElasticSearch中的一些重要概念及部分原理性概念,以下内容中简称为ES。 一、ES部分名词解释 1.NRT:英文全称为N...

    jifei 评论0 收藏0
  • ElasticSearch重要念及简单用法

    摘要:接着上一篇搭建的环境继续学习,从概念开始,本篇文章将介绍中的一些重要概念及部分原理性概念,以下内容中简称为。表示字段,具体指的是中的某一个数据字段。可以在故障时提供备用服务。 接着上一篇ElasticSearch搭建的环境继续学习,从概念开始,本篇文章将介绍ElasticSearch中的一些重要概念及部分原理性概念,以下内容中简称为ES。 一、ES部分名词解释 1.NRT:英文全称为N...

    Thanatos 评论0 收藏0
  • ElasticSearch重要念及简单用法

    摘要:接着上一篇搭建的环境继续学习,从概念开始,本篇文章将介绍中的一些重要概念及部分原理性概念,以下内容中简称为。表示字段,具体指的是中的某一个数据字段。可以在故障时提供备用服务。 接着上一篇ElasticSearch搭建的环境继续学习,从概念开始,本篇文章将介绍ElasticSearch中的一些重要概念及部分原理性概念,以下内容中简称为ES。 一、ES部分名词解释 1.NRT:英文全称为N...

    h9911 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<