/** * Дейстиве для отображения страницы галереи компании. * * @param $company * @return \Illuminate\View\View */ public function getShow($company) { // Статья Model::unguard(); $data['article'] = Article::firstOrCreate(['type' => 'gallery_' . $company . '_description']); Model::reguard(); // Фотографии $data['photos'] = Gallery::whereHas('company', function ($query) use($company) { $query->where('short_title', '=', $company); })->orderBy('created_at', 'DESC')->paginate(9); // Компания $data['company'] = Company::whereShortTitle($company)->first(['title']); // Отображаем return view('marketing.galleries.show', $data); }
/** * Действие-обработчик запроса на редактирование фотографии. * * @param StoreGalleriesRequest $request * @param SavesImages $imageSaver * @param $id * @return \Illuminate\Http\RedirectResponse * @throws \App\Services\Exception */ public function postEdit(StoreGalleriesRequest $request, SavesImages $imageSaver, $id) { $photo = Gallery::whereHas('company', function ($q) use($request) { $q->where('short_title', '=', $request->company); })->find($id); if (empty($photo)) { abort(404); } // Меняем данные и сохраняем $photo->title = trim($request->title); $photo->company_id = Company::whereShortTitle($request->company)->first(['id'])->id; if ($request->hasFile('file_name')) { $photo->file_name = $imageSaver->save('file_name', 'galleries', 973, NULL, $photo->file_name); } $photo->save(); return redirect('admin/galleries/edit/' . $photo->id . '?company=' . $request->company)->with('success', 'Сертификат успешно сохранен.'); }