lifetime; } public function getKey($id = null) { return 'im_new_group_list'; } public function getContent($id = null) { $limit = 12; $groups = $this->findHotGroups($limit); if ($groups->count() == 0) { return []; } return $this->handleContent($groups); } /** * @param ImGroupModel[] $groups * @return array */ protected function handleContent($groups) { $result = []; foreach ($groups as $group) { $result[] = [ 'id' => $group->id, 'name' => $group->name, 'avatar' => $group->avatar, 'about' => $group->about, ]; } return $result; } /** * @param int $limit * @return ResultsetInterface|Resultset|ImGroupModel[] */ public function findHotGroups($limit = 12) { return ImGroupModel::query() ->where('deleted = 0') ->orderBy('user_count DESC') ->limit($limit) ->execute(); } }