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

Функция abort в Laravel

Иногда findOrFail не подходит: запись вы уже получили через find или проверили своё условие, и только потом решили отдать ошибку. В таких случаях вызывают функцию abort.

Она сразу прерывает выполнение и отдаёт указанный HTTP-статус. Чаще всего передают 404:

<?php namespace App\Http\Controllers; use App\Models\Post; class PostController extends Controller { public function show($id) { $post = Post::find($id); if (!$post) { abort(404); } return view('post.show', ['post' => $post]); } } ?>

Первый параметр - код статуса. Вторым можно передать текст сообщения, если нужно:

<?php namespace App\Http\Controllers; class PostController extends Controller { public function show($id) { abort(404, 'Post not found'); } } ?>

Так же можно отдавать и другие коды - например 403, когда доступ запрещён. Для «записи нет» обычно хватает 404.

Сделайте маршрут, который показывает пользователя по его id. Получите пользователя через User::find и при отсутствии вызовите abort(404).

Вызовите abort со статусом 403 и своим текстом сообщения.

Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить