@halenharper

Routing в Laravel 5. Как избавиться от id в ссылках?

День добрый.
Имею каталог машин.
От главной сраницы к конечной все время передаю id (марки, модели, машины) по которому потом достаю из базы нужные элементы.
Роуты выглядят вот так:
Route::get('catalog/cars-for-parts', ['as' => 'catalog.auto_brands', 'uses' => 'AutoCatalogController@auto_brands']); //главная каталога
Route::get('catalog/cars-for-parts/{id}/models', ['as' => 'catalog.auto_models', 'uses' => 'AutoCatalogController@auto_models']); //по id марки достал модели машин из базы
Route::get('catalog/cars-for-parts/models/{id}/cars', ['as' => 'catalog.carkits', 'uses' => 'AutoCatalogController@carkits']); // по id модели машины достал сами машины


Хочу сделать красивые роуты типа
Route::get('catalog/cars_for_parts/{brand_name}', ['as' => 'catalog.auto_models', 'uses' => 'AutoCatalogController@auto_models']);
Route::get('catalog/cars_for_parts/{brand_name}_{model_name}', ['as' => 'catalog.carkits', 'uses' => 'AutoCatalogController@carkits']);


Но не понимаю, как при таком раскладе достать машины и модели (без id)?
Или можно как-то передать id, не показывая его в роуте?
  • Вопрос задан
  • 459 просмотров
Решения вопроса 1
@halenharper Автор вопроса
Не знаю как тут правильно быть, как отметить решение.
Я принял за ответ совет D' Normalization.

Ну так генерируйте slug для brand_name и model_name и храните их так же в БД.

Сделал slug и к ним обращаюсь вместо id
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
Denormalization
@Denormalization
А причем тут Laravel?

Что такое brand_name и model_name? Они есть в БД? От куда они берутся?
Если они есть в БД, то в чем проблема доставать данные по model_name например? Чем это отличается от получения данных по ID?
Ответ написан
@lynnikvadim
Вот пример как работали сроутами в laravel 5.2
https://laracasts.com/series/whats-new-in-laravel-...
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы