Files
sogandAsghary.Project09/app/Http/Controllers/CommentController.php
T

42 lines
1.2 KiB
PHP

<?php
namespace App\Http\Controllers;
use App\Enums\CommentStatus;
use App\Http\Requests\CommentPostRequest;
use App\Models\Comment;
use App\Models\Flight;
use App\Models\Tour;
class CommentController extends Controller
{
public function storeFlight(CommentPostRequest $request, Flight $flight)
{
$this->store($request, ['flight_id' => $flight->id]);
return back()->withErrors([ 'success' => 'نظر شما با موفقیت ثبت شد.' ]);
}
public function storeTour(CommentPostRequest $request, Tour $tour)
{
$this->store($request, ['tour_id' => $tour->id]);
return back()->withErrors([ 'success' => 'نظر شما با موفقیت ثبت شد.' ]);
}
private function store(CommentPostRequest $request, array $relation)
{
$data = $request->validated();
Comment::create([
...$relation,
'user_id' => auth()->id(),
'guest_name' => auth()->check() ? null : $data['guest_name'],
'guest_email' => auth()->check() ? null : $data['guest_email'],
'comment' => $data['comment'],
'status' => CommentStatus::APPROVED,
]);
}
}