2017-08-03 91 views
0

Laravel路由模型绑定 - 空的用户

http://192.168.10.15/user/33/edit 

我试图返回基于URL ID的用户的路线。

public function edit($id, \App\User $user) 
    { 
     dd($user->id); 
     return view('user.update'); 

    } 

该ID是返回null,我该怎么做?

回答

2

对于路由绑定工作,你应该有类型暗示的变量名匹配路段名称,所需的文档:

Laravel自动解析或路由定义雄辩模型 控制器动作,它的类型,暗示变量名称与路线名称 匹配。例如:

Route::get('api/users/{user}', function (App\User $user) { 
return $user->email; }); 

由于$用户变量是类型暗示的,作为应用\用户锋模型 和变量名的{用户} URI段相匹配,Laravel将 自动注入具有一个模型实例ID与请求URI中对应的值 匹配。如果在数据库中找不到匹配的模型实例 ,则会自动生成404 HTTP响应。

对于您的情况:

Route::get('/users/{user}/edit', '[email protected]'); 

而在你的控制器:

public function edit(\App\User $user) 
{ 
    dd($user->id); 
    return view('user.update')->withUser($user); 

} 
相关问题