Blame view
app/Http/Controllers/Admin/NewsController.php
2.63 KB
3575d19ae Админка новости и... |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 |
<?php namespace App\Http\Controllers\Admin; use App\Http\Controllers\Controller; use App\Models\News; use Illuminate\Http\Request; use Illuminate\Support\Facades\Storage; class NewsController extends Controller { /** * Display a listing of the resource. * * @return \Illuminate\Http\Response */ public function index() { $news = News::query()->orderByDesc('created_at')->orderByDesc('id')->paginate(5); return view('admin.news.index', compact('news')); } /** * Show the form for creating a new resource. * * @return \Illuminate\Http\Response */ public function create() { return view('admin.news.create'); } /** * Store a newly created resource in storage. * * @param \Illuminate\Http\Request $request * @return \Illuminate\Http\Response */ public function store(Request $request) { $params = $request->all(); unset($params['foto']); if ($request->has('foto')) { $params['foto'] = $request->file('foto')->store('news', 'public'); } News::create($params); return redirect()->route('admin.news.index'); } /** * Display the specified resource. * * @param \App\Models\News $news * @return \Illuminate\Http\Response */ public function show(News $news) { return view('admin.news.view', compact('news')); } /** * Show the form for editing the specified resource. * * @param \App\Models\News $news * @return \Illuminate\Http\Response */ public function edit(News $news) { return view('admin.news.edit', compact('news')); } /** * Update the specified resource in storage. * * @param \Illuminate\Http\Request $request * @param \App\Models\News $news * @return \Illuminate\Http\Response */ public function update(Request $request, News $news) { $params = $request->all(); unset($params['foto']); if ($request->has('foto')) { Storage::delete($news->foto); $params['foto'] = $request->file('foto')->store('news', 'public'); } $news->update($params); return redirect()->route('admin.news.index'); } /** * Remove the specified resource from storage. * * @param \App\Models\News $news * @return \Illuminate\Http\Response */ public function destroy(News $news) { if (!empty($news->foto)) { Storage::delete($news->foto); } $news->delete(); return redirect()->route('admin.news.index'); } } |