错误edit()必须是App \ User的实例,没有给出

时间:2016-11-11 00:59:29

标签: php laravel-5 laravel-5.3

我创建了一个UserController.php

use App\User;
//

class UsersController extends Controller
{
//

    public function edit($id, User $user){
      $user = $user->find($id);
      return view('admin.user.edit' , compact('user'));
    }

 //


}

编辑观点

但是当我想访问此网址时

url('/users/'. $user->id .'edit')

我收到了这个错误

  

错误edit()必须是App \ User的实例,没有给出

!?

2 个答案:

答案 0 :(得分:2)

确保您的路线如下:

Route::get(/users/{id}/edit', 'UsersController@edit');

然后将其用作:

url('/users/'. $user->id .'/edit');

url("/users/{$user->id}/edit");

然后你的控制器应该是:

public function edit($id) {
  $user = User::find($id);
  return view('admin.user.edit' , compact('user'));
}

答案 1 :(得分:1)

错误表示edit()函数需要$ user_id和User实例,但您只提供$ user_id。如果是这样的话,您的代码应如下所示:

public function edit($id){
      $user = User::find($id);
      return view('admin.user.edit' , compact('user'));
}