艾林博客 - 技术交流与经验分享的个人博客

thinkphp 模型withCount方法如何指定COUNT字段

Liner51

Liner51

1年前更新

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更新以后 是否覆盖修改过的代码

The End
案例分析

喜欢就支持一下把!

(1)
我劝天公重抖擞,不拘一格降人才。

《五言杂诗》龚自珍

为您推荐