/** * Действие-обработчик запроса на изменение данных объекта * * @param StoreProjectRequest $request * @param SavesImages $imageSaver * @param $id * @return \Illuminate\Http\RedirectResponse * @throws \App\Services\Exception */ public function postEdit(StoreProjectRequest $request, SavesImages $imageSaver, $id) { // Получение данных $project = Project::find($id); if (empty($project)) { abort(404); } // Присвоение новых значений полей объекту $project->title = trim($request->get('title')); if (trim($request->get('slug')) != '') { $project->slug = trim($request->get('slug')); } else { $project->slug = str_slug($project->title); } $project->description_short = trim($request->get('description_short')); $project->description_full = trim($request->get('description_full')); $project->enabled = (int) $request->get('enabled'); // Новое изображение if ($request->hasFile('image')) { $project->image = $imageSaver->save('image', 'projects', 140, 140, $project->image); } // Сохранение $project->save(); // Переадресовывание назад с сообщением об успехе операции return redirect()->back()->with('success', 'Объект успешно обновлён.'); }