firstOrFail() - чиста обробка 404
Перевіряєте на існування моделі перед використанням? Багато шаблонного коду.
firstOrFail() кидає виняток, який Laravel перетворює на 404.
Переваги:
- Менше boilerplate
- Автоматична обробка помилок
- REST-friendly
Схожі методи: findOrFail($id), sole().
// ПОГАНО
public function show($id)
{
$post = Post::find($id);
if (!$post) {
abort(404);
}
return view('posts.show', compact('post'));
}
// ДОБРЕ
public function show($id)
{
$post = Post::findOrFail($id);
return view('posts.show', compact('post'));
}
// За slug
public function showBySlug($slug)
{
$post = Post::where('slug', $slug)->firstOrFail();
return view('posts.show', compact('post'));
}