如何使用 get Route 而不是 Laravel 5.6 中的 id 创建动态 url

how to create dynamic url using get Route rather then id in Laravel 5.6

我想创建动态 URL 路由而不是 ID。我想在数据库中创建 url 列 我想使用该列在路由中创建 url。

Route::get('our-services/{service}', 'ServiceController@show');

这是我的路线代码,使用这条路线url看起来像这样

127.0.0.1:8000/1

但我想这样创建,

127.0.0.1:8000/name

这是我的 link 动态创建的代码

<a href="{{url('our-services/'.$service->url)}}" class="small white uppercase font-weight-6 underline">Read More</a>

它是从数据库列创建的动态 url。

您使用route model binding自定义解析逻辑。 RouteServiceProvider 启动方法中:

Route::bind('service', function ($value) {
    return App\Service::where('url', $value)->first() ?? abort(404);
});