<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                數據表結構 ![](https://img.kancloud.cn/38/29/3829f086fb3acc6f561e95843be791ef_934x287.png) ~~~ /**聊天好友列表 * @param $user_id * @return array * @throws \Exception */ public static function jobChatList($user_id){ $message_list = self::where('type','text')->where('user_id', $user_id)->orWhere('to_user_id', $user_id)->select(['user_id', 'to_user_id','content','input_time','type','is_read'])->orderBy('input_time','asc')->get(); $to_user_ids = []; $lastMessages = []; foreach ($message_list as $message) { //發送方 if ($message->to_user_id != $user_id) { $to_user_ids[] = $message->to_user_id; $lastMessages[$message->to_user_id] = [ 'content' => $message->content, 'time' => $message->input_time, 'is_read' => self::where([['user_id',$user_id], ['to_user_id', $message->to_user_id]])->value('is_read') ?? 0 ]; } //接收方 if ($message->user_id != $user_id) { $to_user_ids[] = $message->user_id; $lastMessages[$message->user_id] = [ 'content' => $message->content, 'time' => $message->input_time, 'is_read' => self::where([['to_user_id',$user_id], ['user_id', $message->to_user_id]])->value('is_read') ?? 0 ]; } } $friends = apiPaginate(MemberList::whereIn('user_id', $to_user_ids)->paginate(50)); $friends['list'] = $friends['list']->map(function ($item) use ($lastMessages, $user_id){ $return_data = [ 'nickname' => $item->nickname, 'avatar' => MemberList::getUser($item->user_id)['avatar'], 'text' => $lastMessages[$item->user_id]['content'], 'unread_count' => self::where([['user_id',$item->user_id], ['to_user_id', $user_id], ['is_read',0]])->count(), 'to_user_id' => $item->user_id, 'time' => $lastMessages[$item->user_id]['time'], 'time_text' => date_format_convert($lastMessages[$item->user_id]['time']), ]; if ($lastMessages[$item->user_id]['is_read'] == 1){ $return_data['text'] = '????? ????? ??????????? ?????'; } return $return_data; }); /*排序*/ $sort_list = $friends['list']->toArray(); $values = array_column($sort_list,'time'); array_multisort($values,SORT_DESC, $sort_list); /*排序完畢*/ $new_list['list'] = $sort_list; $new_list['page'] = $friends['page']; return $new_list; } ~~~ 結果: ![](https://img.kancloud.cn/8a/e6/8ae61955c915d305d3a929fb2fbd96d3_333x322.png)
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看