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.
Using FTP and PHP to get an array of file details such as size and…
Creating and using Laravel form requests to create cleaner code, separation and reusability for your…
Improving the default Laravel login and register views in such a simple manner but making…
Laravel validation for checking if a field value exists in the database. The validation rule…