Docs 菜单

检索不同字段值

在此页面上

您可以通过对对象集合或查询构建器调用distinct()方法来检索集合中文档的不同字段值。

要检索不同的字段值,请将查询过滤传递给where()方法,并将字段名称传递给select()方法。 然后,调用distinct()以返回与查询过滤匹配的文档中所选字段的唯一值。

提示

有关查询筛选器的更多信息,请参阅读取操作指南中的检索与查询匹配的文档部分。

从以下 EloquentQuery Builder 标签页中选择,查看使用每个相应查询语法的同一操作的用法示例:

此示例将执行以下动作:

  • 使用Movie Eloquent 模型表示sample_mflix数据库中的movies集合

  • movies集合中检索与查询筛选器匹配的文档的不同字段值

  • 打印非重复值

该示例在Movie模型上调用以下方法:

  • where():匹配其中 directors字段的值包含 "Sofia Coppola" 的文档

  • select():检索匹配文档的 imdb.rating字段值

  • distinct():检索所选字段的唯一值并返回值列表

  • get():检索查询结果

$ratings = Movie::where('directors', 'Sofia Coppola')
->select('imdb.rating')
->distinct()
->get();
echo $ratings;
[[5.6],[6.4],[7.2],[7.8]]

此示例将执行以下动作:

  • 通过从 DB 门面调用 table() 方法来访问 movies集合

  • movies集合中检索与查询筛选器匹配的文档的不同字段值

  • 打印非重复值

该示例调用以下查询构建器方法:

  • where():匹配其中 directors字段的值包含 "Sofia Coppola" 的文档

  • select():检索匹配文档的 imdb.rating字段值

  • distinct():检索所选字段的唯一值并返回值列表

  • get():检索查询结果

$ratings = DB::table('movies')
->where('directors', 'Sofia Coppola')
->select('imdb.rating')
->distinct()
->get();
echo $ratings;
[5.6,6.4,7.2,7.8]

要了解如何编辑 Laravel 应用程序以运行用法示例,请参阅用法示例登录页面。

在此页面上