Blame view
app/Http/Controllers/Admin/BannerController.php
3.82 KB
c5118e5f3 Админка сайта - в... |
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 |
<?php namespace App\Http\Controllers\Admin; use App\Http\Controllers\Controller; use App\Models\Banner; use Illuminate\Database\Eloquent\Model; use Illuminate\Http\Request; use Illuminate\Support\Facades\Storage; use Illuminate\Support\Facades\Validator; class BannerController extends Controller { /** * Display a listing of the resource. * * @return \Illuminate\Http\Response */ public function index() { $banners = Banner::query()->orderBy('id')->paginate(5); return view('admin.banners.index', compact('banners')); } /** * Show the form for creating a new resource. * * @return \Illuminate\Http\Response */ public function create() { return view('admin.banners.create'); } /** * Store a newly created resource in storage. * * @param \Illuminate\Http\Request $request * @return \Illuminate\Http\Response */ public function store(Request $request) { $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.banner.create') ->withErrors($validator); } else { $banner = new Banner(); $banner->title = $request->title; $banner->text = $request->text; $banner->image = $request->file('image')->store('banners', 'public'); $banner->save(); //$area->fotos()->save($foto_area); return redirect()->route('admin.banner.index'); } } /** * Display the specified resource. * * @param \App\Models\Banner $banner * @return \Illuminate\Http\Response */ public function show(Banner $banner) { // } /** * Show the form for editing the specified resource. * * @param \App\Models\Banner $banner * @return \Illuminate\Http\Response */ public function edit(Banner $banner) { |
6eff6bf11 Админка сайта кат... |
87 |
return view('admin.banners.edit', compact('banner')); |
c5118e5f3 Админка сайта - в... |
88 89 90 91 92 93 94 95 96 97 98 99 |
} /** * Update the specified resource in storage. * * @param \Illuminate\Http\Request $request * @param \App\Models\Banner $banner * @return \Illuminate\Http\Response */ public function update(Request $request, Banner $banner) { $rules = [ |
c5118e5f3 Админка сайта - в... |
100 101 |
'title' => 'required|min:3|max:255' ]; |
6eff6bf11 Админка сайта кат... |
102 103 104 105 |
if (empty($banner->image)) { $rules['image'] = 'required|min:3|max:10000'; } |
c5118e5f3 Админка сайта - в... |
106 107 108 109 110 111 |
$messages = [ 'required' => 'Поле не может быть пустым!', ]; $validator = Validator::make($request->all(), $rules, $messages); if ($validator->fails()) { |
6eff6bf11 Админка сайта кат... |
112 |
return redirect()->route('admin.banner.edit', ['banner' => $banner->id]) |
c5118e5f3 Админка сайта - в... |
113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 |
->withErrors($validator); } else { $params = $request->all(); unset($params['image']); if ($request->has('image')) { Storage::delete($banner->image); $params['image'] = $request->file('image')->store('banners', 'public'); } $banner->update($params); return redirect()->route('admin.banner.index'); } } /** * Remove the specified resource from storage. * * @param \App\Models\Banner $banner * @return \Illuminate\Http\Response */ public function destroy(Banner $banner) { if (!empty($banner->image)) { Storage::delete($banner->image); } |
6eff6bf11 Админка сайта кат... |
138 |
$banner->delete(); |
c5118e5f3 Админка сайта - в... |
139 140 141 |
return redirect()->route('admin.banner.index'); } } |