Php 如何在laravel中为资源路由添加附加参数

Php 如何在laravel中为资源路由添加附加参数,php,laravel,parameters,controller,routes,Php,Laravel,Parameters,Controller,Routes,有没有办法向laravel资源路由添加额外的参数,使url看起来像www.blog.com/blogpost/1到www.blog.com/blogpost/1-my-first-blog blog/{id}toblog/{id}-{title} 我知道一些基本的路由参数,比如blog/{id}/{title}希望能对你有所帮助 在路由文件中: Route::get('blog/{slug}', 'BlogController@show'); // make sure not conflict

有没有办法向laravel资源路由添加额外的参数,使url看起来像
www.blog.com/blogpost/1
www.blog.com/blogpost/1-my-first-blog

blog/{id}
to
blog/{id}-{title}

我知道一些基本的路由参数,比如
blog/{id}/{title}

希望能对你有所帮助

在路由文件中:

Route::get('blog/{slug}', 'BlogController@show'); // make sure not conflict with resource routes define
然后是您的
BlogController

公共功能显示($slug)
{
$id=explode($slug,'-')[0];//获取帖子的id
//你的逻辑
}
安装并配置此包,然后只需执行
findBySlug($slug)
。但您无法通过资源路由实现这一点

有关laravel Slaggable的更多信息,请参见


希望这有帮助。

像这样做:
Route::resource('blogpost','BlogpostController',['parameters'=>['blogpost'=>'whatever']])转换为
/blogpost/{whatever}
OP使用
ResourceController
和资源路由!你们是否正确地阅读了这个问题???@HirenGohel我认为我们需要定义新的路径来处理新的url格式,比如
www.blog.com/blogpost/1-my-first-blog
。我读了你的评论,但我认为这只会改变params的名字。不要更改url格式!您可以查看文档中的
命名资源路由参数
主题吗:也可以定义此
在他的问题中是否有任何方法向laravel资源路由添加其他参数
,因此我认为这不是答案!你能解释一下我们如何处理从
blog/{id}
blog/{id}-{title}
格式的url吗?非常感谢。
composer require cviebrock/eloquent-sluggable:^4.3