tp实现未读信息
2022/4/13 6:14:02
本文主要是介绍tp实现未读信息,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
实现效果:统计未读的信息
控制器:
/** * 获取团长发布消息总数,没有阅读的 * @return array|mixed|string */ public function getTeamMessageCount(){ $result = [ 'status' => false, 'data' => '', 'msg' => '' ]; $token = input('param.token'); if (empty($token)){ $result['status'] = true; $result['data'] = 0; $result['msg'] = "获取成功"; return $result; } $userId = getUserIdByToken($token); $userModel = new UserModel(); $userInfo = $userModel->getUserWxById($userId); $userTeamId = 0; if (isset($userInfo['status']) && $userInfo['status']){ $userTeamId = isset($userInfo['data']['user_team_id']) ? $userInfo['data']['user_team_id'] : 0; } $informationModel = new Information(); return $informationModel->getMessageCountNotReader($userId, $userTeamId); }
跳转到用户模型层代码:
/** * 查询用户信息 根据用id * @param $id * @return void */ public function getUserWxById($id){ $result = [ 'status' => false, 'data' => [], 'msg' => '' ]; $userInfo = $this->where(array('id' => $id))->find(); if ($userInfo){ $result['data'] = $userInfo; $result['status'] = true; }else{ return error_code(11004);//没有找到此用户 } return $result; }
跳转到消息模型层代码:
public function getMessageCountNotReader($userId, $teamId){ $return = [ 'status' => false, 'msg' => '', 'data' => '' ]; $count = $this->alias('mm') ->field("mm.*") ->leftJoin("user_read_team_message_log ut", "ut.team_massage_id = mm.id and ut.user_id=".$userId) ->where(['mm.team_id'=> $teamId, 'mm.status' => 2]) ->whereNull('ut.team_massage_id') ->count(); $return['status'] = true; $return['data'] = $count; return $return; }
数据表的创建:
这篇关于tp实现未读信息的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-05-15鸿蒙生态设备数量超8亿台
- 2024-05-13TiDB + ES:转转业财系统亿级数据存储优化实践
- 2024-05-09“2024鸿蒙零基础快速实战-仿抖音App开发(ArkTS版)”实战课程已上线
- 2024-05-09聊聊如何通过arthas-tunnel-server来远程管理所有需要arthas监控的应用
- 2024-05-09log4j2这么配就对了
- 2024-05-09nginx修改Content-Type
- 2024-05-09Redis多数据源,看这篇就够了
- 2024-05-09Google Chrome驱动程序 124.0.6367.62(正式版本)去哪下载?
- 2024-05-09有没有大佬知道这种数据应该怎么抓取呀?
- 2024-05-09这种运行结果里的10.100000001,怎么能最快改成10.1?