我正在使用Laravel 5.4.18。我尝试编辑用户时收到此错误
Missing argument 2 for App\Http\Controllers\UsersController::edit()
这就是我做的事情
https://paste.laravel.io/Pyw5M#18
答案 0 :(得分:0)
改变这个:
public function edit(User $user, $id)
{
$user = $user->find($id);
return view('admin/users/edit', compact('user'));
}
对此:
public function edit(User $user)
{
return view('admin/users/edit', compact('user'));
}
当你定义(User $ user)时,laravel会自动注入用户模型,因此无需根据id再次找到模型。
在这种情况下,我希望您的路线看起来像这样:
Route::get('users/{user}/edit', UserController@edit)
或者您可以使用资源控制器,以便为您处理: https://laravel.com/docs/5.4/controllers#resource-controllers