Php 如何修改此Laravel路由,以便媒体按id搜索,但在URL中显示slug?
因此,下面的代码URL看起来像:Php 如何修改此Laravel路由,以便媒体按id搜索,但在URL中显示slug?,php,laravel,laravel-5.1,laravel-routing,laravel-controller,Php,Laravel,Laravel 5.1,Laravel Routing,Laravel Controller,因此,下面的代码URL看起来像:/downloadpage/34 我想让URL SEO变得友好,比如:/downloadpage/slug 在“媒体”表中有一列slug。如何在这段代码中改变媒体按id搜索,但在URL中显示slug routes.php文件: Route::get('/downloadpage/{id}', [ 'as' => 'downloadpage', 'uses' => 'DownloadController@index' public functi
/downloadpage/34
我想让URL SEO变得友好,比如:/downloadpage/slug
在“媒体”表中有一列slug
。如何在这段代码中改变媒体按id搜索,但在URL中显示slug
routes.php文件:
Route::get('/downloadpage/{id}', [
'as' => 'downloadpage', 'uses' => 'DownloadController@index'
public function index($id){
$images = DB::table('media')->where("id", "=", $id)->get();
$popular = DB::table('media')->orderBy('count_download', 'DESC')->take(5)->get();
$mostlike = DB::table('media')->orderBy('count_like', 'DESC')->take(5)->get();
$alsolike = DB::table('media')->orderByRaw("RAND()")->where("id", "!=", $id)->take(3)->get();
$settings = Setting::first();
$previous = DB::table('media')->where('id', '<', $id)->max('id');
$next = DB::table('media')->where('id', '>', $id)->min('id');
$imgshare = DB::table('media')->where("id", "=", $id)->first();
return view('download.downloadpage', ['images'=>$images , 'popular'=>$popular, 'mostlike'=>$mostlike, 'alsolike'=>$alsolike, 'settings'=>$settings, 'previous'=>$previous, 'next'=>$next, 'imgshare'=>$imgshare]);
}
DownloadController.php文件:
Route::get('/downloadpage/{id}', [
'as' => 'downloadpage', 'uses' => 'DownloadController@index'
public function index($id){
$images = DB::table('media')->where("id", "=", $id)->get();
$popular = DB::table('media')->orderBy('count_download', 'DESC')->take(5)->get();
$mostlike = DB::table('media')->orderBy('count_like', 'DESC')->take(5)->get();
$alsolike = DB::table('media')->orderByRaw("RAND()")->where("id", "!=", $id)->take(3)->get();
$settings = Setting::first();
$previous = DB::table('media')->where('id', '<', $id)->max('id');
$next = DB::table('media')->where('id', '>', $id)->min('id');
$imgshare = DB::table('media')->where("id", "=", $id)->first();
return view('download.downloadpage', ['images'=>$images , 'popular'=>$popular, 'mostlike'=>$mostlike, 'alsolike'=>$alsolike, 'settings'=>$settings, 'previous'=>$previous, 'next'=>$next, 'imgshare'=>$imgshare]);
}
公共功能索引($id){
$images=DB::table('media')->其中(“id”,“=”,$id)->get();
$popular=DB::table('media')->orderBy('count_download','DESC')->take(5)->get();
$mostlike=DB::table('media')->orderBy('count_like','DESC')->take(5)->get();
$alsolike=DB::table('media')->orderByRaw(“RAND()”)->where(“id”),“!=”,$id)->take(3)->get();
$settings=设置::first();
$previous=DB::table('media')->where('id','',$id)->min('id');
$imgshare=DB::table('media')->其中(“id”、“=”、$id)->first();
返回视图('download.downloadpage',['images'=>$images',popular'=>$popular',mostlike'=>$mostlike',alsolike'=>$alsolike',settings'=>$settings',previous'=>$previous',next'=>$next',imgshare'=>$imgshare]);
}
类似的东西
路线:
Route::get('/downloadpage/{slug}', [
'as' => 'downloadpage', 'uses' => 'DownloadController@index'
控制器:
public function index($slug){
$images = DB::table('media')->where("slug", "=", $slug)->first();
$popular = DB::table('media')->orderBy('count_download', 'DESC')->take(5)->get();
$mostlike = DB::table('media')->orderBy('count_like', 'DESC')->take(5)->get();
$alsolike = DB::table('media')->orderByRaw("RAND()")->where("id", "!=", $id)->take(3)->get();
$settings = Setting::first();
$previous = DB::table('media')->where('id', '<', $images->id)->max('id');
$next = DB::table('media')->where('id', '>', $images->id)->min('id');
return view('download.downloadpage', ['images'=>$images , 'popular'=>$popular, 'mostlike'=>$mostlike, 'alsolike'=>$alsolike, 'settings'=>$settings, 'previous'=>$previous, 'next'=>$next, 'imgshare'=>$images]);
}
公共功能索引($slug){
$images=DB::table('media')->其中(“slug”、“=”、$slug)->first();
$popular=DB::table('media')->orderBy('count_download','DESC')->take(5)->get();
$mostlike=DB::table('media')->orderBy('count_like','DESC')->take(5)->get();
$alsolike=DB::table('media')->orderByRaw(“RAND()”)->where(“id”),“!=”,$id)->take(3)->get();
$settings=设置::first();
$previous=DB::table('media')->where('id','',$images->id)->min('id');
返回视图('download.downloadpage',['images'=>$images',popular'=>$popular',mostlike'=>$mostlike',alsolike'=>$alsolike',settings'=>$settings',previous'=>$previous',next'=>$next',imgshare'=>$images);
}
我将$images=DB::table()…->first()
行更改为->first()
,这样就不会得到数组。您可能还需要更改视图中的某些内容
我强烈建议您阅读基本的Laravel文档,它清楚地解释了这一点。并浏览文档,将您的
DB
调用转换为模型。通过应用此更改,url变得如我所愿,但出现了许多错误。