['username' => 'xxx', ...] ... ] */ public static function formatWithFollowList(array $data, string $table, array $users) { $followIds = []; foreach ($data as &$record) { $record['follow_ids'] = $record['follow_ids'] ? explode(',', $record['follow_ids']) : []; rsort($record['follow_ids']); $record['follow_ids'] = array_slice($record['follow_ids'], 0, 5); $followIds = Helper::concatArray($followIds, $record['follow_ids']); $record['follow_list'] = []; } if ($followIds) { $follows = Helper::arrayColumn( DB::getListWithCriteria($table, DbCriteria::simpleCompare([ 'id' => $followIds ])->setSelect('id, detail, user_id, create_date')), null, 'id' ); foreach ($data as &$record) { foreach ($record['follow_ids'] as $followId) { if (isset($follows[$followId])) { $followInfo = $follows[$followId]; $followInfo['avatar'] = !empty($users[$followInfo['user_id']]['avatar']) ? $users[$followInfo['user_id']]['avatar'] : '/zqcrm/avatar/20250926/9PLsci1dwXLcb8Iw.jpg'; $followInfo['avatar'] = Helper::getImageUrl($followInfo['avatar'], '', 1); $followInfo['detail'] = strip_tags($followInfo['detail']); $followInfo['username'] = $users[$followInfo['user_id']]['username'] ?? ''; $record['follow_list'][] = $followInfo; } } unset($record['follow_ids']); } } return $data; } }