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;
}