fomvasss
@fomvasss
PHP developer

Как построить маршруты в Laravel с одинаковым шаблоном для разных сущностей?

Есть сайт на Laravel
На сайте есть маршруты для объявлений:
Route::get('{post}', 'PostController@show);   //например: http://my-domai.com/slug-some-post-1


Нужно еще добавить аналогичные маршруты, только для городов:
Route::get('{city}', 'CityController@show);    //например: http://my-domai.com/slug-some-city-1


И объявления и города добавляются и хранятся в базе данных.
Эти пути не должны иметь каких то префиксов (типа post, city,...)
Пока что в голову приходит только идея реализации одного роута:
Route::get('{entity}', 'EntityController@show);
и соотв. метода контроллера, где будет проверка наличие слагов в бд по разным моделям (городам, объявлениям)
Есть ли какие то другие варианты или предложения? Возможно это как то можно решить, если хранить слаги или даже урл в базе данных в одной таблице (например как в цмс друпал)?
  • Вопрос задан
  • 304 просмотра
Пригласить эксперта
Ответы на вопрос 1
@Kostik_1993
Web Developer
Нет, если никаких примесей к слагу не добавлять то только выносить таблицу со слагами отдельно как говорите вы сделано в друпале. И пользоваться полиморфными связями https://laravel.com/docs/5.6/eloquent-relationship...
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы