If you're using Laravel, you just need to declare in your routes file something like this:
Route::get('/category/{category}', 'CategoryController@show')->name('show.categories');
Then the link in your .blade.php file, considering you know how to loop over categories collection, must look in some way like this one:
<a href="{{ route('show.categories', $category->id) }}"> X Category </a>
If you need also help with the controller I think it will be ideally the CategoryController using the show method:
Asuming you're not using v5.4
public function show($id) {
$cat = Category::find($id);
return view('category.show', compact('cat'));
}
If you're using 5.4
public function show($catergory) {
return view('category.show')->with(['category' => $category];
}
To achieve the exact same behaviour that they have, you must use something like eloquent-sluggable, it's pretty easy to implement.