查找文档
要从集合中检索单个文档,您可以使用 Model::where()
等方法或 DB
门面中的方法匹配文档,然后调用 first()
方法返回一个文档。
如果有多个文档与查询过滤匹配,则first()
会根据文档在数据库中的自然顺序或根据您可以使用orderBy()
方法指定的排序顺序,返回第一个匹配的文档。
提示
要学习;了解使用 Laravel 集成检索文档的其他方法,请参阅读取操作指南。
例子
从以下 Eloquent 和 Query Builder 标签页中选择,查看使用每个相应查询语法的同一操作的用法示例:
此示例将执行以下动作:
使用
Movie
Eloquent 模型表示sample_mflix
数据库中的movies
集合从
movies
集合中检索与查询筛选器匹配的文档打印检索到的文档
该示例在Movie
模型上调用以下方法:
where()
:匹配其中directors
字段的值包含"Rob Reiner"
的文档orderBy()
:按升序_id
值对匹配的文档进行排序first()
:仅检索第一个匹配的文档
$movie = Movie::where('directors', 'Rob Reiner') ->orderBy('id') ->first(); echo $movie->toJson();
// Result is truncated { "_id": ..., "title": "This Is Spinal Tap", "directors": [ "Rob Reiner" ], ... }
此示例将执行以下动作:
通过从
DB
门面调用table()
方法来访问movies
集合从
movies
集合中检索与查询筛选器匹配的文档打印检索到的文档的
title
字段
该示例调用以下查询构建器方法:
where()
:匹配其中directors
字段的值包含"Rob Reiner"
的文档orderBy()
:按升序_id
值对匹配的文档进行排序first()
:仅检索第一个匹配的文档
$movie = DB::table('movies') ->where('directors', 'Rob Reiner') ->orderBy('_id') ->first(); echo $movie->title;
This Is Spinal Tap
要了解如何编辑 Laravel 应用程序以运行用法示例,请参阅用法示例登录页面。