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

时间:2018-07-20 17:57:06

标签: database laravel laravel-5.6 dynamic-url

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

private void handleResponse(ResponseData responseData) {
  if( responseData != null){
     List<Data> dataList = responseData.getDataList();
     mAndroidArrayList = new ArrayList<>();
     if(dataList!= null){
        mAndroidArrayList.addAll(dataList);
     }
     mAdapter = new DataAdapter(mAndroidArrayList);
     mRecyclerView.setAdapter(mAdapter);
 }
}

这是我的路线代码,使用的路线网址如下

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

但是我想这样创建

127.0.0.1:8000/1

这是我动态创建的链接代码

127.0.0.1:8000/name

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

1 个答案:

答案 0 :(得分:1)

您使用route model binding自定义解析逻辑。在RouteServiceProvider引导方法中:

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