Ограничения на несколько параметров маршрутов в Laravel


Ограничения можно накладывать на несколько параметров. Для этого нужно вызвать несколько методов where в виде цепочки.

Посмотрим на примере. Пусть у нас дан следующий маршрут с несколькими параметрами:

<?php
Route::get('/post/{slug}/{id}', function ($slug, $id) {
return 'пост ' . $slug . ' ' . $id;
});
?>
Зададим этим параметрам соответствующие ограничения:

<?php
Route::get('/post/{slug}/{id}', function ($slug, $id) {
return 'пост ' . $slug . ' ' . $id;
})->where('slug', '[a-z0-9_-]+')->where('id', '[0-9]+');
?>