You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Laravel中使用withCount()后如何统计全部分类的总文章数

实现方案

方案1:复用已有查询结果(无额外数据库请求)

适合所有文章必须关联分类的业务场景,直接对已查询到的各分类文章数求和即可:

控制器修改

$categories = BlogCategory::withCount('articles')->get();
// 新增代码:对集合内的articles_count字段求和
$totalArticles = $categories->sum('articles_count');

// 两个变量都传到视图,示例:
return view('你的视图路径', compact('categories', 'totalArticles'));

模板修改

修改All选项的代码,拼接总数量即可:

<div class="blog-filter__item active" data-filter="all">All ({{ $totalArticles }})</div>

方案2:直接统计文章表总数(结果更准确)

如果存在文章未关联任何分类的情况,方案1会漏掉这部分数据,直接统计文章表总数更符合「全部分类下总文章数」的需求:

控制器修改

use App\Models\Article; // 顶部引入你自己的文章模型

$categories = BlogCategory::withCount('articles')->get();
// 新增代码:直接统计文章表总记录数
$totalArticles = Article::count();

return view('你的视图路径', compact('categories', 'totalArticles'));

模板修改

和方案1的模板修改逻辑完全一致。


内容的提问来源于stack exchange,提问作者user16978178

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 10:00:05