什么是 Elopquent

Eloquent 是 Laravel 的 ‘ORM’,即 ‘Object Relational Mapping’,对象关系映射。ORM 的出现是为了帮我们把对数据库的操作变得更加地方便Eloquent 让一个 ‘Model类’ 对应一张数据库表,并且在底层封装了很多 ‘function’,可以让 Model 类非常方便地调用。没错,Eloquent 就是这么屌炸天,只需要继承一下 Eloquent 类,就可以干 ‘first() find() where() orderBy()’ 等非常非常多的事情,这就是面向对象的强大威力。

Eloquent的基本语法

找到 id 为 2 的文章打印其标题

1
2
3
4
5

$article = Article::find(2);

echo $article->title;

查找标题为“我是标题”的文章,并打印 id

1
2
3
4
5

$article = Article::where('title', '我是标题')->first();

echo $article->id;

查询出所有文章并循环打印出所有标题

1
2
3
4
5
6
7
8
9

$articles = Article::all(); // 此处得到的 $articles 是一个对象集合,可以在后面加上 '->toArray()' 变成多维数组。

foreach ($articles as $article) {

echo $article->title;

}

查找 id 在 10~20 之间的所有文章并打印所有标题

1
2
3
4
5
6
7
8

$articles = Article::where('id', '>', 10)->where('id', '<', 20)->orderBy('updated_at', 'desc')->get();
foreach ($articles as $article) {

echo $article->title;

}

基础使用要点:

1.每一个继承了 Eloquent 的类都有两个 ‘固定用法’ ‘Article::find($number)’ ‘Article::all()’,前者会得到一个带有数据库中取出来值的对象,后者会得到一个包含整个数据库的对象合集。
2.所有的中间方法如 ‘where()’ ‘orderBy()’ 等都能够同时支持 ‘静态’ 和 ‘非静态链式’ 两种方式调用,即 ‘Article::where()…’ 和 ‘Article::….->where()’。
3.所有的 ‘非固定用法’ 的调用最后都需要一个操作来 ‘收尾’.:’->get()’ 和 ‘->first()’。

__END__