|
@@ -386,15 +386,28 @@ class Article extends Base
|
|
|
$sel_where[] = ['id','=',input('get.id')];
|
|
|
$sort_type = input('get.sort_type',1);
|
|
|
$is_release = UserLearn::checkRelease($this->user_id,3,input('get.id'));
|
|
|
- $detail = ArticleIntro::where($sel_where)->find()->toArray();
|
|
|
-// $detail['item_list'] = $detail['item_list3'];
|
|
|
-// unset($detail['item_list3']);
|
|
|
+ $detail = ArticleIntro::where($sel_where)->with(['itemList3'=>function($query)use($sort_type,$is_release){
|
|
|
+ switch ($sort_type) {
|
|
|
+ case 1:
|
|
|
+ $order = ['sort'=>'desc','id'=>'asc'];
|
|
|
+ break;
|
|
|
+ case 2:
|
|
|
+ $order = ['id'=>'asc','sort'=>'desc'];
|
|
|
+ break;
|
|
|
+ case 3:
|
|
|
+ $order = ['id'=>'desc','sort'=>'desc'];
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ return $is_release ? $query->field('id,article_id,create_at,is_vip,read_num,title,sort,user_id,status,release_time')->force('item')->order($order) : $query->field('id,article_id,create_at,is_vip,read_num,title,sort,user_id,status,release_time')->force('item')->where('status',1)->order($order);
|
|
|
+ }])->find()->toArray();
|
|
|
+ $detail['item_list'] = $detail['item_list3'];
|
|
|
+ unset($detail['item_list3']);
|
|
|
$detail['is_release'] = $is_release;
|
|
|
if($is_release && $detail['is_deleted'] )$this->error('该图文已下线');
|
|
|
if(!$detail['is_release'] && ($detail['is_deleted'] == 1 || $detail['status'] == 0))$this->error('该图文已下线');
|
|
|
if(in_array($this->source_type,[1])) $detail['content'] = openssl_encrypt($detail['content'],'DES-ECB',123456,0);
|
|
|
-// $detail['read_num'] = array_sum(array_column($detail['item_list'],'read_num'));
|
|
|
-// $detail['read_num'] = numTransform($detail['read_num']);
|
|
|
+ $detail['read_num'] = array_sum(array_column($detail['item_list'],'read_num'));
|
|
|
+ $detail['read_num'] = numTransform($detail['read_num']);
|
|
|
$detail['follow_switch'] = PlatformSwitch::checkSwitch($this->user_id,$detail['id'],3);
|
|
|
$recently_id = UserTrack::getRecentlyTrack($this->user_id,3,$detail['id']);
|
|
|
$level_id = UserLevelRank::getUserVip($this->user_id);
|