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