Development

Laravel redirect on a missing model resource instead of 404

When a model resource is not found in Laravel you get an HTTP 404 not found, however you can also do other actions such as a redirect.

Using the missing() method in your route resource gives you the ability to use a callback when the model resource is missing.

use App\Http\Controllers\PostController;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Redirect;
 
Route::resource('posts', PostController::class)
        ->missing(function (Request $request) {
            return Redirect::route('posts.index');
        });

In the example above if the resource model isn’t found (/posts/123) there will be a redirect to the index of the resource instead of showing a 404 not found page.

 

Share

Recent Posts

Kennington reservoir drained drone images

A drained and empty Kennington reservoir images from a drone in early July 2024. The…

1 year ago

Merrimu Reservoir drone images

Merrimu Reservoir from drone. Click images to view larger.

1 year ago

FTP getting array of file details such as size using PHP

Using FTP and PHP to get an array of file details such as size and…

2 years ago

Creating Laravel form requests

Creating and using Laravel form requests to create cleaner code, separation and reusability for your…

2 years ago

Improving the default Laravel login and register views

Improving the default Laravel login and register views in such a simple manner but making…

2 years ago

Laravel validation for checking if value exists in the database

Laravel validation for checking if a field value exists in the database. The validation rule…

2 years ago