РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
392 of 1392 menu

Метод delete

Метод delete класса Route используется для регистрации маршрута, который обрабатывает HTTP DELETE запросы. Обычно такие маршруты предназначены для удаления ресурсов. Первым параметром передаётся URI маршрута, вторым - действие, которое будет выполнено при обращении по этому маршруту. Второй параметр может быть именем контроллера и метода через @, замыканием или массивом с указанием контроллера.

Синтаксис

<?php use Illuminate\Support\Facades\Route; Route::delete($uri, $action); ?>

Пример

Давайте зарегистрируем простой маршрут для удаления статьи по её идентификатору:

<?php use Illuminate\Support\Facades\Route; Route::delete('/articles/{id}', function ($id) { return "Article with id $id has been deleted."; }); ?>

Результат выполнения DELETE запроса на /articles/5:

"Article with id 5 has been deleted."

Пример

Теперь зарегистрируем маршрут, который будет использовать метод контроллера для удаления:

<?php use Illuminate\Support\Facades\Route; use App\Http\Controllers\ArticleController; Route::delete('/articles/{id}', [ArticleController::class, 'destroy']); ?>

Пример

Создадим контроллер с методом destroy для обработки DELETE запроса:

<?php namespace App\Http\Controllers; use App\Models\Article; use Illuminate\Http\Request; class ArticleController extends Controller { public function destroy(Request $request, $id) { $article = Article::find($id); if ($article) { $article->delete(); return response()->json(['message' => 'Article deleted successfully']); } return response()->json(['message' => 'Article not found'], 404); } } ?>

Результат выполнения DELETE запроса на /articles/5:

{ "message": "Article deleted successfully" }

Пример

Также можно использовать группу маршрутов с префиксом для объединения DELETE маршрутов:

<?php use Illuminate\Support\Facades\Route; use App\Http\Controllers\ArticleController; Route::prefix('admin')->group(function () { Route::delete('/articles/{id}', [ArticleController::class, 'destroy'])->name('articles.destroy'); Route::delete('/comments/{id}', [CommentController::class, 'destroy'])->name('comments.destroy'); }); ?>

Смотрите также

  • метод get,
    который регистрирует маршрут для GET запросов
  • метод post,
    который регистрирует маршрут для POST запросов
  • метод put,
    который регистрирует маршрут для PUT запросов
  • метод any,
    который регистрирует маршрут для нескольких HTTP методов
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить