2016-11-21 67 views
2

我實施品類結構層次路線,部分產品將有一個一級類別,但其他的可能有兩個或多個級別:Laravel:創建

/posts/cat2/post-sulg 

/posts/cat-1/sub-1/post-slug 

/posts/cat-3/sub../../../post-slug 

,因爲我不知道它將如何深度和使用類別slu is僅適用於seo(我只能通過它的slu find發現帖子)創建處理此結構的路由的最佳方法是什麼?

回答

3

你可以解決這個問題:

Route::get('posts/{categories}', '[email protected]') 
    ->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 
     (...) 
    } 

} 
+1

感謝,但你應該加上' - >在哪裏( '類','^ [A-ZA-Z0- 9 -_ \ /] + $');'爲了使它工作 – alex

+0

是的......你說得對,只需添加它... –