我试图做这个休息设计,但我遇到了麻烦。
我有一个称为list
我想要在/list
之前,它具有像{username}/list
这样的动态参数,并且具有crud选项,例如编辑{username}/list/{id}/edit
等。
使用::resource
方法,您可以通过模型之间使用.
来指示层次结构路由模式,例如:
Route::resource('user.list', 'ListController');
这将产生这样的东西:
/user/{user}/list/{list}
但是,您想拥有一个用户名 - 很好,我们只需要在您的AppProvidersRouteServiceProvider
Route::bind('user', function($value)(){
if(is_numeric($value)) {
return User::find($value);
} else {
return User::where('username', $value)->first();
}
});
如果$ value是数字,则将此explicit model binding
添加此CC_8将尝试通过ID
来解决用户。如果不是,那么它将尝试将值与用户表上的用户名列匹配。
希望这会有所帮助。