Laravel Tutorials

Beyond 404: Smart Model Binding Responses in Laravel

Published
Beyond 404: Smart Model Binding Responses in Laravel image

Laravel's missing method offers a sophisticated way to customize responses when model binding fails. Instead of showing generic 404 pages, you can create meaningful redirects or responses that enhance user experience.

This approach is particularly useful for handling URL changes, product renames, or providing smart suggestions when users encounter missing resources.

Route::get('/articles/{article:slug}', [ArticleController::class, 'show'])
->missing(function (Request $request) {
return redirect()->route('articles.index')
->with('message', 'Article not found');
});

Here's a practical example with smart redirects:

// Archive articles route
Route::get('/articles/{article:slug}', [ArticleController::class, 'show'])
->missing(function (Request $request) {
// Check if article was moved to archive
$archived = ArchivedArticle::where('original_slug', $request->route('article'))
->first();
 
if ($archived) {
return redirect()
->route('articles.archived', $archived->slug)
->with('info', 'This article has been moved to our archive.');
}
 
return redirect()
->route('articles.index')
->with('info', 'Article not found. Browse our latest posts.');
});

When a user attempts to access a moved article, they'll be smoothly redirected:

// When accessing /articles/old-article-slug
// User gets redirected to /articles/archived/old-article-slug
// With flash message: "This article has been moved to our archive."

The missing method transforms frustrating 404 experiences into helpful redirects and informative messages.

Harris Raftopoulos photo

Senior Software Engineer • Staff & Educator @ Laravel News • Co-organizer @ Laravel Greece Meetup

Sponsored

acquaintsoft logo
Acquaint Softtech

Hire Laravel developers with AI expertise at $20/hr. Get started in 48 hours.

Visit Acquaint Softtech

The latest

View all →
Laravel Image Responses: Serve Resized Images From Routes image

Laravel Image Responses: Serve Resized Images From Routes

Read article
Pause All Laravel Queues During a Deploy image

Pause All Laravel Queues During a Deploy

Read article
Laravel Terminal UI for the artisan dev Command image

Laravel Terminal UI for the artisan dev Command

Read article
Pause All Queues and a New artisan dev UI in Laravel 13.25 image

Pause All Queues and a New artisan dev UI in Laravel 13.25

Read article
Laravel monitoring that doesn't bill you by your traffic image

Laravel monitoring that doesn't bill you by your traffic

Read article
Mock PHP Classes in Tests With the Double Library image

Mock PHP Classes in Tests With the Double Library

Read article