ChannelModel::getChannelList PHP Method

getChannelList() public method

获取资源列表
public getChannelList ( array $map ) : array
$map array 查询条件
return array 获取资源列表
    public function getChannelList($map)
    {
        // 获取资源分页结构
        $data = $this->field('DISTINCT `feed_id`, `feed_channel_link_id`, `status`')->where($map)->order('`feed_channel_link_id` DESC')->findPage();
        // 获取分享ID
        $feedIds = getSubByKey($data['data'], 'feed_id');
        // 获取分享分类频道信息
        $cmap['c.feed_id'] = array('IN', $feedIds);
        $categoryInfo = D()->table('`' . $this->tablePrefix . 'channel` AS c LEFT JOIN `' . $this->tablePrefix . 'channel_category` AS cc ON cc.channel_category_id = c.channel_category_id')->field('c.`feed_id`,c.`feed_channel_link_id`, c.`status`, cc.channel_category_id, cc.`title`')->where($cmap)->findAll();
        $categoryInfos = array();
        foreach ($categoryInfo as $val) {
            $categoryInfos[$val['feed_id']][] = $val;
        }
        // 获取分享信息
        $feedInfo = model('Feed')->getFeeds($feedIds);
        $feedInfos = array();
        foreach ($feedInfo as $val) {
            $feedInfos[$val['feed_id']] = $val;
        }
        // 组装信息
        foreach ($data['data'] as &$value) {
            $value['uid'] = $feedInfos[$value['feed_id']]['user_info']['uid'];
            $value['uname'] = $feedInfos[$value['feed_id']]['user_info']['uname'];
            $value['content'] = $feedInfos[$value['feed_id']]['body'];
            $value['categoryInfo'] = $categoryInfos[$value['feed_id']];
            $value['app_row_id'] = $feedInfos[$value['feed_id']]['app_row_id'];
            $value['app_row_table'] = $feedInfos[$value['feed_id']]['app_row_table'];
            $value['app'] = $feedInfos[$value['feed_id']]['app'];
            $value['type'] = $feedInfos[$value['feed_id']]['type'];
            $value['is_repost'] = $feedInfos[$value['feed_id']]['is_repost'];
            $value['digg_count'] = $feedInfos[$value['feed_id']]['digg_count'];
        }
        return $data;
    }