request->input('limit', 10); $searchUserId = $this->request->input('search_user_id'); $data = $this->suggestModel ->when($searchUserId, function ($query, $searchUserId) { return $query->where('user_id', $searchUserId); }) ->orderByDesc('id') ->paginate($limit) ->toArray(); if (empty($data['data'])) return $this->return->success('success',$data); $userIds = array_column($data['data'],'user_id'); $userList = $this->userModel->getInfoByIds($userIds); $imageIds = array_column($userList,'avatar_id'); $imageIdArr = array_column($data['data'],'image_ids'); $listImageIds = array_unique(explode(',',implode(',',$imageIdArr))); $totalImageIds = array_merge($listImageIds,$imageIds); unset($imageIds,$imageIdArr,$listImageIds); $imageList = $this->getOssObjects($totalImageIds); foreach ($data['data'] as &$item) { $item['nickname'] = $userList[$item['user_id']]['nickname'] ?? ''; $item['avatar'] = $imageList[$userList[$item['user_id']]['avatar_id']]['url'] ?? ''; $oneImage = []; foreach (explode(',',$item['image_ids']) as $imageId) { $oneImage[] = $imageList[$imageId]['url'] ?? ''; } $item['content_image_list'] = $oneImage; } return $this->return->success('success',$data); } }