query('sort', 'default'); $tours = Tour::with([ 'originCity', 'city', 'tourDepartures', ]) ->applySort($sort) ->paginate(3) ->withQueryString(); return view('tours.index', compact('title', 'tours', 'sort')); } public function show(Tour $tour) { $title= 'جزئیات تور'; $tour->load([ 'file', 'originCity', 'city', 'tourDepartures', 'comments' => function ($query) { $query->latest(); }, 'comments.user' ]); return view('tours.show', compact('title' , 'tour')); } public function commentStore(TourCommentStoreRequest $request, Tour $tour) { try { Comment::create([ 'tour_id' => $tour->id, 'user_id' => auth()->id(), 'parent_id' => $request->parent_id, 'guest_name' => auth()->check() ? null : $request->guest_name, 'guest_email' => auth()->check() ? null : $request->guest_email, 'content' => $request->content, 'status' => CommentStatus::PENDING, ]); return back()->with('success', 'نظر شما با موفقیت ثبت شد.'); } catch (\Exception $e) { return back() ->withInput() ->with('error', 'ثبت نظر با خطا مواجه شد.'); } } }