有没有办法在laravel资源路由中添加其他参数,以便网址看起来像www.blog.com/blogpost/1
到www.blog.com/blogpost/1-my-first-blog
。
blog/{id}
至blog/{id}-{title}
我知道基本的路线参数,如blog/{id}/{title}
答案 0 :(得分:2)
希望可以帮到你
在路线档案中:
Route::get('blog/{slug}', 'BlogController@show'); // make sure not conflict with resource routes define
然后是你的BlogController
public function show($slug)
{
$id = explode($slug, '-')[0]; //get id of post
// your logic
}
答案 1 :(得分:0)
composer require cviebrock/eloquent-sluggable:^4.3
安装并配置此pakage,然后您只需执行findBySlug($slug)
即可。但是你无法通过资源路线实现这一目标。
有关laravel sluggable的更多信息,请访问here
希望这会有所帮助。