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探索的个人技术博客

延伸阅读:

现代接口安全实战:<span class="text-primary">从加密到防滥用的全栈策略</span> 技术随笔
现代接口安全实战:从加密到防滥用的全栈策略

很多人以为接口加了个 API-Key 或 JWT 就算“安全”。其实现代 API 安全从来不靠某一种“工具”,而是靠传输加密、认证设计、权限隔离、限速防刷、异常监控、日志审计等多个防线共同构成闭环。这一篇文章将为你系统梳理接口安全的全栈策略,避免你在业务关键点裸奔不自知。

资源 Web 安全 优化 Http 后端

Valencio

/

2025-07-04

为什么平台都不管你 key 泄露? 技术随笔
为什么平台都不管你 key 泄露?

很多开发者疑惑:如果我的 API-Key 被盗了,为什么平台方(比如腾讯云、OpenAI)都不报警、不封禁?他们难道不负责吗?本篇文章将深入解析开放平台认证背后的“边界责任模型”,帮助你厘清平台方与调用方之间的安全分工与责任归属,避免你为他人的低级错误背锅。

优化 安全 Web 后端

Valencio

/

2025-07-04

PHP 项目中的<span class="text-primary">安全防护实战技巧</span> 案例分析
PHP 项目中的安全防护实战技巧

本文详细阐述了 PHP 项目中常见的安全威胁,并提供了具体的实战防护技巧,涵盖 SQL 注入、XSS 攻击、文件包含漏洞等多个方面,帮助 PHP 开发者构建安全可靠的应用程序。

后端 优化 安全 PHP

Valencio

/

2025-05-07