Laravel: создание иерархического маршрута для категории
Я внедряю структуру категорий, некоторые продукты будут иметь одну категорию уровня, но другие могут иметь два или более уровня:
/posts/cat2/post-sulg
/posts/cat-1/sub-1/post-slug
/posts/cat-3/sub../../../post-slug
Поскольку я не знаю, какой глубины это будет, и использование category slugs только для seo (я нахожу пост только по его slug), каков лучший способ создать маршрут для обработки этой структуры?
1 ответ:
Вы можете решить это с помощью:
Route::get('posts/{categories}', 'PostController@categories') ->where('categories','^[a-zA-Z0-9-_\/]+$');
, а затем в контроллере
class PostController { public function categories($categories) { $categories = explode('/', $categories); $postSlug = array_pop($categories) // here you can manage the categories in $categories array and slug of the post in $postSlug (...) } }