Предполагая, что часть blogid
в конце предложенного маршрута ...
http://www.mypropstore.com/blog/apartment-vs-villa-which-is-the-right-choice-for-you-{{blogid}}
... равна числовой , вы можете сделать что-то вроде этого:
Для определения маршрута для страницы сведений о сообщении используйте следующее:
Route::name('posts.display')
->get('blog/{slug}-{id}', 'PostController@show')
->where('id', '[0-9]+');
Это гарантирует, что этот маршрут будет соответствовать только путям, которые следуют шаблону blog/{slug}-{id}
, но ограничивает этоid
часть вашего маршрута должна быть числовой, то есть состоять только из одного или нескольких чисел.
Вам нужно будет убедиться, что этот маршрут отображается до тогосоответствует вашему category
маршруту, иначе маршрут category
будет иметь приоритет.
Ваш контроллер должен иметь такой метод показа, как этот:
class PostController extends Controller
{
public function show($slug, $id)
{
// $id will contain the number at the end of the route
// $slug will contain the slug before the number (without the hyphen)
// You should be able to do this to get your post.
$post = Post::findOrFail($id);
dd($post);
}
}