where(['is_top' => 1, 'delete_time' => 0]) ->order('sort desc, create_time desc') ->select(); self::content($top); $list = MallNews::with('files') ->where(['is_top' => 0, 'delete_time' => 0]) ->order('sort desc, create_time desc') ->page($page,$size) ->select(); self::content($list); $count = MallNews::where(['is_top' => 0, 'delete_time' => 0])->count(); $more = is_more($count, $page, $size); //是否有下一页 return [ 'list' => $list, 'page_no' => $page, 'page_size' => $size, 'count' => $count, 'more' => $more, 'top' => $top, ]; } public static function detail($id, $mall_type) { if ($mall_type == 1) { $mall_news = MallNewsShop::where(['id' => $id, 'delete_time' => 0])->find()->toArray(); if ($mall_news['shop_id'] > 0) { $mall_news['shop'] = Goods::where(['id' => $mall_news['shop_id']])->field('name, image, min_price')->find()->toArray(); } $file = MallNewsFile::where(['mall_news_shop_id' => $id])->field('mall_news_shop_id, src')->select()->toArray(); foreach ($file as &$v) { $v['src'] = UrlServer::getFileUrl('uploads/images/' . $v['src']); } $mall_news['files'] = $file; } else { $mall_news = MallNews::with('files') ->where(['id' => $id, 'delete_time' => 0]) ->find()->toArray(); if ($mall_news['shop_id'] > 0) { $mall_news['shop'] = Goods::where(['id' => $mall_news['shop_id']])->field('name, image, min_price')->find()->toArray(); } if (isset($mall_news['files'])) { foreach ($mall_news['files'] as &$v) { if ($mall_news['type'] == 0) { $v['src'] = UrlServer::getFileUrl('uploads/images/' . $v['src']); } else { $v['src'] = Config::get('aliyunoss.domain') . self::$FILE_VIDEO_PATH . '/'. $v['src']; } } } } return $mall_news; } private static function content(&$arg) { foreach ($arg as &$v) { if ($v['mall_type'] == 0) { if ($v['shop_id'] > 0) { $v['shop'] = Goods::field('name, image, min_price')->find($v['shop_id']); } if (isset($v['files'])) { foreach ($v['files'] as &$v1) { if ($v['type'] == 0) { $v1['src'] = UrlServer::getFileUrl('uploads/images/' . $v1['src']); } else { $v1['src'] = Config::get('aliyunoss.domain') . self::$FILE_VIDEO_PATH . '/'. $v1['src']; } } } } else if ($v['mall_type'] == 1) { $ids = explode(',', $v['mall_news_goods_id']); foreach ($ids as $k => &$v2) { $res = MallNewsFile::where('mall_news_shop_id', $v2)->field('mall_news_shop_id, src')->select()->toArray(); foreach ($res as &$v3) { $v3['image'] = UrlServer::getFileUrl('uploads/images/' . $v3['src']); } $arr[$k] = $res; } $v['shop'] = $arr; } } } }