2017-08-03 82 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); 

} 
相關問題