Laravel route parameters don't care at all

I come from here: Laravel pagination trouble with offset

Investigating into my code, I found that when a random alike parameter is given through a route, it will do an like query or I don't know, but it will still work as it will get the first part of the parameter:

enter image description here

The route I'm trying to "ensure" goes like this:

Route::get('/videos/cats/{race_id}/{cat_id}, [App\Http\Controllers\MeowController::class, 'getCatVideo']);

Can someone help me to get that exact parameter as integer, or prevent a route from working if the parameter is not exactly the given one?

Thank you in advance.

Upvotes: 0

Views: 96

Answers (1)

zlodes
zlodes

Reputation: 784

Parameters are required by default.

To validate parameter:

Route::get('/videos/cats/{race_id}/{cat_id}, [App\Http\Controllers\MeowController::class, 'getCatVideo'])
    ->where('race_id', '\d+')
    ->where('cat_id', '\d+'); 

Useful link: https://laravel.com/docs/8.x/routing#parameters-regular-expression-constraints

Upvotes: 3

Related Questions