From 914c1aedbd2e88bd3f985039a3775f04f81bd230 Mon Sep 17 00:00:00 2001 From: Admin Date: Mon, 17 Aug 2026 18:20:38 -0700 Subject: [PATCH] feat:complete comments in tourShow --- app/Http/Controllers/CommentController.php | 2 +- app/Http/Controllers/TourController.php | 15 ++++++- .../views/show-layouts/reviews.blade.php | 45 ++++++++++++++++--- 3 files changed, 55 insertions(+), 7 deletions(-) diff --git a/app/Http/Controllers/CommentController.php b/app/Http/Controllers/CommentController.php index 28b5b56..5699772 100644 --- a/app/Http/Controllers/CommentController.php +++ b/app/Http/Controllers/CommentController.php @@ -29,7 +29,7 @@ class CommentController extends Controller $data = $request->validated(); Comment::create([ - $relation, + ...$relation, 'user_id' => auth()->id(), 'guest_name' => auth()->check() ? null : $data['guest_name'], 'guest_email' => auth()->check() ? null : $data['guest_email'], diff --git a/app/Http/Controllers/TourController.php b/app/Http/Controllers/TourController.php index 054e170..90b5293 100644 --- a/app/Http/Controllers/TourController.php +++ b/app/Http/Controllers/TourController.php @@ -2,6 +2,7 @@ namespace App\Http\Controllers; +use App\Enums\CommentStatus; use App\Enums\TourStatus; use App\Models\Tour; use Illuminate\Http\Request; @@ -20,8 +21,20 @@ class TourController extends Controller return view('tours.index', compact('tours')); } - public function show() + public function show(Tour $tour) { + abort_if($tour->status !== TourStatus::ENABLE->value, 404); + $tour->increment('views'); + + $tour->load(['file', + 'comments' => function ($query) { + $query->where('status', CommentStatus::APPROVED) + ->with('user') + ->orderByDesc('created_at'); + },]); + + + return view('tours.show', compact('tour')); } } diff --git a/resources/views/show-layouts/reviews.blade.php b/resources/views/show-layouts/reviews.blade.php index b6e7219..4a00ab2 100644 --- a/resources/views/show-layouts/reviews.blade.php +++ b/resources/views/show-layouts/reviews.blade.php @@ -1,11 +1,13 @@ +
-

بررسی‌ها

+ +

بازخوردها

-
بازخوردها
- @forelse($flight->comments as $comment) + @forelse($comments as $comment) +
@@ -19,6 +21,7 @@
+
@if($comment->user) {{ $comment->user->first_name }} @@ -32,6 +35,7 @@ {{ $comment->created_at->toJalali()->format('Y/m/d') }} +
@@ -40,13 +44,21 @@

{{ $comment->comment }}

+ @empty -

هنوز بازخوردی ثبت نشده است. اولین نفری باشید که نظر می‌دهد.

+ +

+ هنوز بازخوردی ثبت نشده است. + اولین نفری باشید که نظر می‌دهد. +

+ @endforelse
+
+

نظر بدهید

@error('success') @@ -56,11 +68,21 @@ @enderror -
+ @php + $commentRoute = $type === 'flight' + ? route('flights.comments', $item) + : route('tours.comments', $item); + @endphp + + + + @csrf @guest +
+ +
+
+ +
+ @endguest +
+ +
+ +
+
+
+