ChannelApiModel::getChannels PHP Method

getChannels() public method

获取频道分类数据
public getChannels ( $uid, $count = 6, $page = 1, $order = 'sort asc', $sql = '' ) : array
return array 所有频道分类数据
    public function getChannels($uid, $count = 6, $page = 1, $order = 'sort asc', $sql = '')
    {
        $start = ($page - 1) * $count;
        $end = $count;
        $data = D('channel_category')->where($sql)->order($order)->limit("{$start}, {$end}")->findAll();
        foreach ($data as $k => $v) {
            if (!empty($v['ext'])) {
                $ext = unserialize($v['ext']);
                $v = array_merge($v, $ext);
            }
            $data[$k] = $v;
        }
        // 组装附件信息
        $attachIds = getSubByKey($data, 'attach');
        $attachIds = array_filter($attachIds);
        $attachIds = array_unique($attachIds);
        $attachInfos = model('Attach')->getAttachByIds($attachIds);
        $attachData = array();
        foreach ($attachInfos as $attach) {
            $attachData[$attach['attach_id']] = $attach;
        }
        foreach ($data as &$value) {
            if (!empty($value['attach']) && !empty($attachData[$value['attach']])) {
                $value['icon_url'] = getImageUrl($attachData[$value['attach']]['save_path'] . $attachData[$value['attach']]['save_name']);
            } else {
                $value['icon_url'] = null;
            }
            unset($value['ext'], $value['attach'], $value['user_bind'], $value['topic_bind']);
            if ($uid) {
                $value['followStatus'] = intval(D('ChannelFollow', 'channel')->getFollowStatus($uid, $value['channel_category_id']));
            }
        }
        return $data;
    }