Метод findOrFail в Laravel
Часто нужно показать одну запись
по id: пост, пользователя,
товар. Если записи с таким id нет,
пользователю следует отдать
ошибку 404.
Для этого удобен метод findOrFail.
Он ищет модель по первичному ключу.
Если нашёл - возвращает её. Если нет -
Laravel сам выбросит исключение
и покажет страницу 404:
<?php
namespace App\Http\Controllers;
use App\Models\Post;
class PostController extends Controller
{
public function show($id)
{
$post = Post::findOrFail($id);
return view('post.show', ['post' => $post]);
}
}
?>
Не нужно вручную проверять результат
на null и вызывать ошибку -
достаточно findOrFail.
Похожим образом работает
firstOrFail: ищет первую
запись по условиям запроса и тоже
отдаёт 404, если ничего
не найдено.
Сделайте маршрут, который показывает
пользователя по его id
через findOrFail.
Сделайте маршрут, который показывает
пост по его id
через findOrFail.