如何在输出用户列表时同时统计并输出每个用户推荐用户的人数?

新手上路,请多包涵

在表中 tuijian 字段是自己专属的推荐码 otuijian 是自己注册时填写的推荐人的推荐码
在输出用户列表时同时统计并展示用户推荐的人数,我用的下面这张方法
$list =

     db("jianlis")
        ->alias('a')
        ->join('jianlis b','a.tuijian=b.otuijian')
        ->field(['a.*,count(b.id) as count'])
        ->group('a.name')
        ->paginate(15);
       

虽然用户信息和推荐统计都可以查出,但由于数据有几万条这样查询数据太慢,求有没有更便捷的sql语句,或者tp5的模型方法之类的?

阅读 1.7k
1 个回答

你这建表有问题吧,你在建立表的时候多一个推荐人数字段不行吗???
比如 rec_number INT(11) NOT NULL DEFAULT 0 COMMENT '推荐人数',

A推荐B注册了,注册的时候看到有A的注册码吧,之后根据A的注册码找到A->setInt('rec_number',1,5);

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题