ThinkPHP 模型中的 withCount 方法是一个非常实用的功能,它可以帮助我们快速地获取关联模型的计数信息。然而,有时候我们可能想要指定 COUNT 字段,而不是使用默认的计数字段。本文将介绍如何在 ThinkPHP 模型中使用 withCount 方法来指定 COUNT 字段。

需要修改vendor生成文件

路径

\vendor\topthink\think-orm\src\db\concern\ModelRelationQuery

源代码

public function withCount(string|array $relation, bool $subQuery = true) 
{ 
	return $this->withAggregate($relation, 'count', '*', $subQuery); 
}	

修改为

public function withCount ($relation, bool $subQuery = true, string $field = "*") 
{ 
	return $this->withAggregate($relation, 'count', $field, $subQuery); 
}	

Tips:需要注意composer更新以后 是否覆盖修改过的代码

艾林博客 - 技术分享、开发经验与AI探索的个人技术博客
艾林博客 - 技术分享、开发经验与AI探索的个人技术博客

延伸阅读:

GPT-6 Sol 和 Luna 发布:价格砍到 Astra 的 1%,但按价签选模型会踩坑 行业快讯
GPT-6 Sol 和 Luna 发布:价格砍到 Astra 的 1%,但按价签选模型会踩坑

9 月 22 日 OpenAI 补上 GPT-6 的 Sol 和 Luna 两档,价格降到 Astra 的 1/5 和 1/100。但重点不是便宜:三档能力差距按工作类型分叉——编码任务上 Luna 只落后 Sol 2.2 分,智能体任务上却掉 12.5 分。本文附三档规格对比、计费隐藏条款、GPT-6 Sol 与前代的代际对比,以及一段可直接抄走的 PHP 模型路由实现。

AI 后端

Valencio

/

2026-09-23