Use pretty URLs for your Laravel project by implementing slugs and avoid the integer id as the route key.
The following 2 URL examples are for the route
/location/{location}
This first one is the default where the route key is the id
domain.com/location/34
It’s not a good practice for SEO nor is it human readable.
Instead of this you can use a “slug” for the location title. A slug is a string that is URL safe with dashes instead of spaces.
Los Angeles has a slug of los-angeles, whilst North Las Vegas has a slug north-las-vegas
This second URL is using the slug as the route key
domain.com/location/los-angeles
You do this by customizing the key with getRouteKeyName function in the models class
public function getRouteKeyName(): string
{
return 'slug';
}
It is returning “slug” because that is the database column I want the route key to be.
If the slug isn’t found then an HTTP 404 error will be thrown.
A drained and empty Kennington reservoir images from a drone in early July 2024. The…
Merrimu Reservoir from drone. Click images to view larger.
Some early September spring shots from a bushwalk, It is still too early for wildflowers.
I recently needed to clone over a smaller NVMe to a 2TB SK Hynix Platinum…
If you ever needed a simple solution in Laravel to delete an entire directory and…
How to enforce only one user to register or be registered in a Laravel web…