如何在LaravelEloquent中获取总结果数
来自菜鸟教程
处理数据库查询结果时,仅获取结果集中的总行数通常很有用,而不是使用常规查询提取完整的数据集内容。 Eloquent 提供了一些不同的 聚合方法 ,它们返回一个标量而不是 Eloquent 对象,包括 count()
、max()
和 sum()
等。 这些都是通过内置于每个 Eloquent 模型中的固有 查询构建器 提供的。
在本系列的这一部分中,您将更新主应用程序视图以显示每个列表中的链接总数。
在代码编辑器中打开文件 resources/views/index.php
:
resources/views/index.php
找到使用 subtitle
类设置样式的段落,其中包含呈现应用程序菜单的 foreach
循环:
... <p class="subtitle"> @foreach ($lists as $list)<a href="{{ route('link-list', $list->slug) }}" title="{{ $list->title }}" class="tag is-info is-light">{{ $list->title }}</a> @endforeach </p> ...
要获取每个列表中的链接总数,您可以从 LinkList
类上定义的 $list->links()
关系方法中访问查询构建器,并调用 count()
方法可通过查询生成器获得:
{{ $list->links()->count() }}
更新 foreach
循环内的代码以包含 count()
方法调用,它将显示列表中的链接数。 确保将其放在 <a>
标记内和列表标题之后。 您可以将此信息包含在括号中,以便在呈现的 HTML 输出中提高可读性。
完成后代码应如下所示:
<p class="subtitle"> @foreach ($lists as $list)<a href="{{ route('link-list', $list->slug) }}" title="{{ $list->title }}" class="tag is-info is-light">{{ $list->title }} ({{ $list->links()->count() }})</a> @endforeach </p>
完成后保存文件。 然后,在浏览器上重新加载主应用程序页面:
http://localhost:8000
您将获得如下所示的页面,在顶部菜单中显示每个列表中包含的链接总数:
在本系列的下一部分中,您将学习如何限制查询中的结果数量,以及如何在 Laravel Eloquent 中对结果进行分页。