路由绑定到 slug

Routing binding to slug

如何将路由绑定到 slug?如果我不想通过 URL 传递 ID,而是像 /locations/my-store 这样的东西,我的商店将替换 ID?

您使用的 Laravel 是什么版本?在 5+ 中,我知道您可以像这样修改 RouteServiceProvider 中的模型绑定:

$router->bind('location', function($value){
    return Location::where('id', $value)->orWhere('slug', $value)->first();
});

您应该使用简单的路线 (Laravel 5):

Route::get('/location/{slug}', 'LocationController@index');

然后抓鼻涕虫,比如:

public function index($slug) {
    ....
}