'users', 'title' => 'Пользователи', ]; /** * Display a listing of the resource. */ public function index() { $this->data['users'] = User::query()->get(); return view('users.index', $this->data); } /** * Show the form for creating a new resource. */ public function create() { $this->data['user'] = null; return view('users.edit', $this->data); } /** * Store a newly or update existing created resource in storage. */ public function store(StoreUser $request) { $validated = $request->validated(); if(!empty($validated['password'])) { $validated['password'] = Hash::make($validated['password']); } else { unset($validated['password']); } if(isset($validated['id'])) { User::query() ->where('id', $validated['id']) ->update($validated); } else { User::query()->create($validated); } return redirect()->route('user.index')->with(['success' => 'Пользователь ' . $validated['name'] . ' сохранён!']); } /** * Display the specified resource. */ public function show(User $user) { $this->data['user'] = $user; return view('users.edit', $this->data); } /** * Remove the specified resource from storage. */ public function destroy(User $user, DeleteUser $request) { if($user == $request->user()) { return redirect()->route('user.index')->with(['danger' => 'Нельзя удалить самого себя!']); } else { $user->delete(); return redirect()->route('user.index')->with(['success' => 'Пользователь ' . $user->name . ' удалён!']); } } }