FollowModel::getFollowingList PHP Method

getFollowingList() public method

获取指定用户的关注列表 分页
public getFollowingList ( integer $uid, integer $gid = null, integer $limit = 10 ) : array
$uid integer 用户ID
$gid integer 关注组ID,默认为空
$limit integer 结果集数目,默认为10
return array 指定用户的关注列表
    public function getFollowingList($uid, $gid = null, $limit = 10)
    {
        $limit = intval($limit) > 0 ? $limit : 10;
        if (is_numeric($gid)) {
            // 关组分组
            if ($gid == 0) {
                // $list = $this->table("{$this->tablePrefix}{$this->tableName} AS follow LEFT JOIN {$this->tablePrefix}user_follow_group_link AS link ON link.follow_id = follow.follow_id")
                // ->field('follow.*')
                // ->where("follow.uid={$uid} AND link.follow_id IS NULL")
                // ->order('follow.uid DESC')
                // ->findPage($limit);
                $list = $this->where("`uid`={$uid}")->order('`follow_id` DESC')->findPage($limit);
            } elseif ($gid == -1) {
                $list = $this->table('`ts_user_follow` a, ts_user_follow b')->where("a.uid={$uid} AND b.fid={$uid} AND a.fid=b.uid")->order('`follow_id` DESC')->field('a.*')->findPage($limit);
            } elseif ($gid == -2) {
                $map['uid'] = $uid;
                $fids = M('user_follow_group_link')->where($map)->field('DISTINCT fid')->findAll();
                $fids = getSubByKey($fids, 'fid');
                if (!empty($fids)) {
                    $map['fid'] = array('not in', $fids);
                }
                $list = $this->where($map)->order('`follow_id` DESC')->findPage($limit);
            } else {
                $list = $this->field('follow.*')->table("{$this->tablePrefix}user_follow_group_link AS link LEFT JOIN {$this->tablePrefix}{$this->tableName} AS follow ON link.follow_id=follow.follow_id AND link.uid=follow.uid")->where("follow.uid={$uid} AND link.follow_group_id={$gid}")->order('follow.uid DESC')->findPage($limit);
            }
        } else {
            // 没有指定关组分组的列表
            $list = $this->where("`uid`={$uid}")->order('`follow_id` DESC')->findPage($limit);
        }
        return $list;
    }