paginate(10); return view('admin.tours.index', compact('tours')); } public function create() { return view('admin.tours.create'); } public function store(TourStoreRequest $request) { // Tour::create($request->validated()); $tour = Tour::create($request->only([ 'travel_type_id', 'title', 'slug', 'description', 'start_date', 'end_date', 'price', 'capacity', 'status' ])); $this->uploadImages($tour, $request->file('images')); return view('admin.tours.index') ->with('success', 'تور با موفقیت ایجاد شد.'); } public function show(Tour $tour) { return view('admin.tours.show', compact('tour')); } public function edit(Tour $tour) { $travelTypes = TravelType::all(); return view('admin.tours.edit', compact('tour', 'travelTypes')); } public function update(TourStoreRequest $request, Tour $tour) { $tour->update($request->validated()); // ذخیره فایل و گرفتن مسیر (بدون پسوند) $path = $request->file('image')->store('photos', 'public'); $extension = $request->file('image')->getClientOriginalExtension(); // ایجاد رکورد $tour->files()->create([ 'name' => $path, 'extension' => $extension, 'size' => $request->file('image')->getSize(), 'original_name' => $request->file('image')->getClientOriginalName(), ]); return redirect()->route('admin.tours.index') ->with('success', 'تور با موفقیت به‌روزرسانی شد.'); } public function destroy(Tour $tour) { $tour->delete(); return redirect()->route('admin.tours.index') ->with('success', 'تور با موفقیت حذف شد.'); } public function removeImage(Tour $tour, $image) { // منطق حذف تصویر — بسته به جدول تصاویر return back()->with('success', 'تصویر حذف شد.'); } }