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