select(["id as value", "title as name"])->get()->toArray(); $cateColumn = array_column($cate, 'name', 'value'); $list = Article::whereDate("date", "<=", date('Y-m-d')) ->where(function (Builder $query) use ($request) { if ($request->get("cid")) { $query->where("cid", $request->get("cid")); } return $query; })->select(["id", "title", "date", "intro", "cover", "cid", "link_status", "link"]) ->orderByDesc("date") ->paginate($request->get("per_page", 15)); /** @var Article $item */ foreach ($list->items() as $item) { $item['cname'] = $cateColumn[$item->cid]; $item['cover'] = ImgSrc($item->cover); unset($item->cid); } return Success(['article' => [ "total" => $list->total(), "data" => $list->items(), "current_page" => $list->currentPage(), "last_page" => $list->lastPage(), "per_page" => $list->perPage(), ], "cate" => $cate]); } public function articleDetail(Request $request): Response { $id = $request->get('id'); $article = Article::where("id", $id)->select(["id", "title", "date", "intro", "cover", "content"])->first(); if (!$article || strtotime($article->date) > time()) return Error("参数错误!"); $article->content = str_replace("/upload/img/", getHostUrl() . "/upload/img/", $article->content); Article::where("id", $id)->increment("read"); return Success($article); } }