要从集合中检索单个文档,您可以使用 Model::where() 等方法或 DB 门面中的方法匹配文档,然后调用 first() 方法返回一个文档。
如果有多个文档与查询过滤匹配, first()则根据文档在数据库中的自然顺序或根据您可以使用orderBy()方法指定的排序顺序,返回第一个匹配的文档。
提示
要学习;了解使用 Laravel 集成检索文档的其他方法,请参阅 读取操作指南。
例子
从以下 Eloquent 和 Query Builder 标签页中选择,查看使用每个相应查询语法的同一操作的用法示例:
此示例将执行以下动作:
使用
MovieEloquent 模型表示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 应用程序以运行用法示例,请参阅用法示例登录页面。