Be part of JetBrains PHPverse 2026 on June 9 – a free online event bringing PHP devs worldwide together.

Soo's avatar
Level 2

Crud (edit user)

hello friends, i have update user interface , when i submit the button for the user id:9 for example it update the first user. I don't hnow why. this is the code of UserController(edit and update).

public function edit($id)
    {
        $user = User::with('role')->where('id', $id)->first();
        $roles = Roles::all();
        return view('users.edit', compact('user', 'roles'));
    }

    public function update(User $user, Request $request)
    {
        
        $request->validate([
            'name' => 'required|string|max:255',
            'email' => 'required|email|unique:users|max:255',
            'password' ,
            'password_confirmation' ,
            'role_id' => 'required',
        ]);
        $request->user()->update([
            'name' => $request->name,
            'email' => $request->email,
            'password' => Hash::make($request->password),
            'role_id' => $request->role_id
        ]);
        return redirect('/users')->with('success', 'Your User has been updated successfully!');
    }
0 likes
2 replies
yemilgr's avatar

How is your routes definition looks like? Is laravel fetching the correct User from url ?? you can check it using

dd($user)
Soo's avatar
Soo
OP
Best Answer
Level 2

I correct the function update like that: it work now

public function update(User $user, Request $request)
    {
        
        $request->validate([
            'name' => 'required|string|max:255',
            'email' => 'required|email|unique:users,email,'.$request->user_id.',id',
            'password' ,
            'password_confirmation' ,
            'role_id' => 'required',
        ]);
        User::where('id', $request->user_id)->update([
            'name' => $request->name,
            'email' => $request->email,
            'password' => Hash::make($request->password),
            'role_id' => $request->role_id
        ]);
        return redirect('/users')->with('success', 'Your User has been updated successfully!');
    }

Please or to participate in this conversation.