Search code examples
phplaravel-5laravel-5.3

Error edit() must be an instance of App\User, none given


i created a 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'));
    }

 //


}

And edit views

but when i want to access to this url

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

i got this error

Error edit() must be an instance of App\User, none given

!?


Solution

  • Make sure your route is like:

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

    Then use it as:

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

    or

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

    And then your controller should be as:

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