Php 拉雷维尔。更改url以获得更好的链接

Php 拉雷维尔。更改url以获得更好的链接,php,laravel,Php,Laravel,想要将我的链接更改为更好的链接,例如: 此urlRoute::get('/sections/{id}','SectionController@show');给我地址laravel.dev/sections/1。如何在没有htaccess的情况下将/1更改为laravel.dev/sections/section\u name。可能吗? 谢谢你的帮助 路线 Route::get('/sections/{section}','SectionController@show'); 控制器 publi

想要将我的链接更改为更好的链接,例如:

此url
Route::get('/sections/{id}','SectionController@show');
给我地址
laravel.dev/sections/1
。如何在没有htaccess的情况下将
/1
更改为
laravel.dev/sections/section\u name
。可能吗? 谢谢你的帮助

路线

Route::get('/sections/{section}','SectionController@show');
控制器

 public function show(Section $section)
{
    $listSections = $section->user;
    return view('sections.section', compact('listSections'));
}
查看

<a href="{{URL::to('/sections/'.$listSection->name)}}">{{$section->name}}</a>

您必须更改路线,并使用区段名称访问路线。根据检索模型的方式,可能必须更改控制器。如果您使用的是隐式路由模型绑定,请将以下内容添加到您的Section eloquent模型中

public function getRouteKeyName()
{
    return 'section_name';
}

如果要显式获取它,则可能还必须进行相应的更改。

您必须更改路由并使用节名访问路由。根据检索模型的方式,可能必须更改控制器。如果您使用的是隐式路由模型绑定,请将以下内容添加到您的Section eloquent模型中

public function getRouteKeyName()
{
    return 'section_name';
}

如果要显式获取它,则可能还必须进行相应的更改。

您可以使用类似的方法,但这不是一种好的做法

 if(window.location.href.indexOf("/sections/") > -1) {
        window.history.pushState(null, null, '/sections/your_section_name');
  }

你可以使用类似的方法,但这不是好的做法

 if(window.location.href.indexOf("/sections/") > -1) {
        window.history.pushState(null, null, '/sections/your_section_name');
  }

只需更改路由和传递节_名称而不是id只需更改路由和传递节_名称而不是id