Blame view
app/Http/Controllers/Admin/NewsController.php
3.73 KB
c5118e5f3 Админка сайта - в... |
1 2 3 4 5 6 |
<?php namespace App\Http\Controllers\Admin; use App\Http\Controllers\Controller; use App\Models\News; |
6eff6bf11 Админка сайта кат... |
7 |
use Illuminate\Database\Eloquent\Model; |
c5118e5f3 Админка сайта - в... |
8 |
use Illuminate\Http\Request; |
6eff6bf11 Админка сайта кат... |
9 10 |
use Illuminate\Support\Facades\Storage; use Illuminate\Support\Facades\Validator; |
c5118e5f3 Админка сайта - в... |
11 12 13 14 15 16 17 18 19 20 |
class NewsController extends Controller { /** * Display a listing of the resource. * * @return \Illuminate\Http\Response */ public function index() { |
6eff6bf11 Админка сайта кат... |
21 22 |
$news = News::query()->orderBy('id')->paginate(5); return view('admin.news.index', compact('news')); |
c5118e5f3 Админка сайта - в... |
23 24 25 26 27 28 29 30 31 |
} /** * Show the form for creating a new resource. * * @return \Illuminate\Http\Response */ public function create() { |
6eff6bf11 Админка сайта кат... |
32 |
return view('admin.news.create'); |
c5118e5f3 Админка сайта - в... |
33 34 35 36 37 38 39 40 41 42 |
} /** * Store a newly created resource in storage. * * @param \Illuminate\Http\Request $request * @return \Illuminate\Http\Response */ public function store(Request $request) { |
6eff6bf11 Админка сайта кат... |
43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 |
$rules = [ 'image' => 'required|min:3|max:10000', 'title' => 'required|min:3|max:255', ]; $messages = [ 'required' => 'Поле не может быть пустым!', ]; $validator = Validator::make($request->all(), $rules, $messages); if ($validator->fails()) { return redirect()->route('admin.news.create') ->withErrors($validator); } else { $news = new News(); $news->title = $request->title; $news->text = $request->text; $news->image = $request->file('image')->store('news', 'public'); $news->save(); //$area->fotos()->save($foto_area); return redirect()->route('admin.news.index'); } |
c5118e5f3 Админка сайта - в... |
66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 |
} /** * Display the specified resource. * * @param \App\Models\News $news * @return \Illuminate\Http\Response */ public function show(News $news) { // } /** * Show the form for editing the specified resource. * * @param \App\Models\News $news * @return \Illuminate\Http\Response */ public function edit(News $news) { |
6eff6bf11 Админка сайта кат... |
87 |
return view('admin.news.edit', compact('news')); |
c5118e5f3 Админка сайта - в... |
88 89 90 91 92 93 94 95 96 97 98 |
} /** * 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) { |
6eff6bf11 Админка сайта кат... |
99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 |
$rules = [ 'title' => 'required|min:3|max:255' ]; if (empty($news->image)) { $rules['image'] = 'required|min:3|max:10000'; } $messages = [ 'required' => 'Поле не может быть пустым!', ]; $validator = Validator::make($request->all(), $rules, $messages); if ($validator->fails()) { return redirect()->route('admin.news.edit', ['news' => $news->id]) ->withErrors($validator); } else { $params = $request->all(); unset($params['image']); if ($request->has('image')) { Storage::delete($news->image); $params['image'] = $request->file('image')->store('news', 'public'); } $news->update($params); return redirect()->route('admin.news.index'); } |
c5118e5f3 Админка сайта - в... |
125 126 127 128 129 130 131 132 133 134 |
} /** * Remove the specified resource from storage. * * @param \App\Models\News $news * @return \Illuminate\Http\Response */ public function destroy(News $news) { |
6eff6bf11 Админка сайта кат... |
135 136 137 138 139 |
if (!empty($news->image)) { Storage::delete($news->image); } $news->delete(); return redirect()->route('admin.news.index'); |
c5118e5f3 Админка сайта - в... |
140 141 |
} } |