如何在 Laravel Eloquent 中获取结果总数

在使用数据库查询结果时,通常只获取结果集中的行总数是有用的,而不是使用常规查询将整个数据集内容拖动起来。 Eloquent 提供了几种不同的 汇总方法,这些方法返回一个尺度数,而不是一个 Eloquent 对象,包括 count(), max()sum()

在本系列中,您将更新主应用程序视图,以显示每个列表中的链接总数。

在您的代码编辑器中打开文件 resources/views/index.php:

1resources/views/index.php

找出与字幕类型格式的段落,其中包含返回应用程序菜单的前方循环:

1...
2<p class="subtitle">
3     @foreach ($lists as $list)<a href="{{ route('link-list', $list->slug) }}" title="{{ $list->title }}" class="tag is-info is-light">{{ $list->title }}</a> @endforeach
4</p>
5...

要获取每个列表中的链接总数,您可以从LinkList类中定义的$list->links()关系方法中访问查询构建程序,并拨打可通过查询构建程序的count()方法:

1{{ $list->links()->count() }}

更新前方循环中的代码以包括 count()方法调用,该方法将显示列表中的链接数量. 请确保将其放置在<a>标签内,并直接在列表标题后。

这就是你完成后代码应该是这样的:

1<p class="subtitle">
2      @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
3 </p>

完成后保存文件,然后在您的浏览器上重新加载主应用程序页面:

1http://localhost:8000

您将获得如下页面,在顶部菜单中显示每个列表中包含的链接总数:

Updated application showing number of links in each link on the top menu

在本系列的下一部分中,您将学习如何在查询中限制结果的数量,以及如何在Laravel Eloquent中页面化结果。

Published At
Categories with 技术
comments powered by Disqus