在tp6中官方手册跟源码中是没办法做到去重关联统计的,因为源代码中的withCount方法,默认是以“*”进行统计。当我们想要统计类型有多少,而不是数量有多少的时候就会非常麻烦。
这时候需要修改源码,将默认的“*”,改成传参的方式,在调用的时候可以使用 “distinct filed"的方式去重了。
实操:
找到tp6文件中vendor>topthink>think-orm>src>db>concern>ModelRelationQuery.php
找到withCount方法的位置,修改成如图即可