public function restoreDeleted($id) { $article = Article::onlyTrashed()->find($id, ['id']); if (empty($article)) { return response()->json(404); } $this->articles->restoreTags($article); $article->restore(); return response()->json(200); }
public function onlyDeleted() { $articles = Article::onlyTrashed()->with('user')->latest('deleted_at')->paginate(10); return $articles; }
public function restoreOrDelete(Request $request) { $id = $request->id; $action = $request->action; $article = Article::onlyTrashed()->find($id); if (empty($article)) { return response()->json(['status' => 404, 'msg' => '文章不存在']); } if (Gate::denies('owns', $article)) { return response()->json(['status' => 403, 'msg' => '无权操作非自己的文章']); } if (!in_array($action, ['restore', 'forceDelete'])) { return response()->json(['status' => 403, 'msg' => '非法操作']); } if ($action == 'restore') { $article->restore(); $this->articles->restoreTags($article); return response()->json(['status' => 200, 'msg' => '恢复成功']); } else { $article->likes()->delete(); Comment::where('article_id', $article->id)->delete(); Auth::user()->histories()->create(['type' => 'article', 'content' => '清除文章《<a href="javascript:;">' . $article->title . '</a>》']); $article->forceDelete(); return response()->json(['status' => 200, 'msg' => '删除成功']); } }
public function recycle() { $articles = Article::onlyTrashed()->paginate(15); return view('admin.articles.recycle', compact('articles')); }
public function onlyDeleted() { $articles = Article::onlyTrashed()->with('user')->Orderby('deleted_at', 'DESC')->paginate(10); return $articles; }
public function forceDelete($id) { Article::onlyTrashed()->find($id)->forceDelete(); return redirect('admin/articles/trash'); }