function (Relation $query) { $query->order('id asc'); }, ])->where('uid', $uid)->find(); if (empty($model_post)) { return $this->error('链接已失效', '/'); } Cache::set($cache_key, $model_post, 600); } $model_post->hits = Db::raw('hits + 1'); $model_post->save(); $this->recordVisit($model_post->id); $list_last_visit = PostVisit::where('post_id', $model_post->id) ->order('id desc') ->group('ip,uid') ->limit(12) ->cache(60) ->select(); View::assign('post', $model_post); View::assign('list_last_visit', $list_last_visit); return View::fetch(); } public function recordVisit($post_id) { $model_visit = new PostVisit(); $model_visit->uid = $this->userinfo['uid'] ?? ''; $model_visit->post_id = $post_id; $model_visit->avatar = $this->userinfo['avatar'] ?? ''; $model_visit->nickname = $this->userinfo['nickname'] ?? ''; $model_visit->ip = $this->request->ip(); $model_visit->save(); } }