Пример #1
0
 /**
  * Действие-обработчик запроса на изменение данных объекта
  *
  * @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', 'Объект успешно обновлён.');
 }