PIMS/app/Modules/Movies/Services/DeleteMovieService.php

23 lines
637 B
PHP

<?php
namespace App\Modules\Movies\Services;
use App\Modules\Movies\Models\Movie;
use App\Modules\Movies\Services\Contracts\DeleteMovieServiceInterface;
use Illuminate\Database\Eloquent\ModelNotFoundException;
class DeleteMovieService implements DeleteMovieServiceInterface
{
public function handle(int $id): void
{
/** @var Movie|null $movie */
$movie = Movie::query()->find($id);
if (!$movie) {
throw (new ModelNotFoundException())->setModel(Movie::class, [$id]);
}
// Hard delete cascades through pivots due to FK cascade in migrations
$movie->delete();
}
}