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

shaungbhone's avatar

HTTP request

In my breeze vue(inertia) app, I cannot use \Illuminate\Http\Request $request. I got an error. When I edit the user, error show me like this

Unbinding $this of closure is deprecated
/**
     * Update the specified resource in storage.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \App\Models\User  $user
     * @return \Illuminate\Http\Response
     */
    public function update(User $user)
    {
        Request::validate([
            'first_name' => 'required|string|max:25',
            'last_name' => 'required|string|max:25',
            'email' => ['required', 'max:50', 'string', 'email', Rule::unique('users')->ignore($user->id)],
            'user_type' => 'required|integer|max:10',
            'password' => ['required', 'confirmed', Password::defaults()],
        ]);

        $user->update(Request::only('first_name', 'last_name', 'email', 'user_type'));

        if (Request::get('password')) {
            $user->update(['password' => Request::get('password')]);
        }

        return Redirect::route('users.index')->with('success', 'User has successfully updated!');
    }
0 likes
2 replies
Sinnbeck's avatar

If you want to use Request:: you need to import the facade, not the actual implementation

\Illuminate\Support\Facades\Request::validate(...
Sinnbeck's avatar
Sinnbeck
Best Answer
Level 102

Or you can use injection with \Illuminate\Http\Request

public function update(User $user, Request $request)
    {
        $validated = $request->validate([

Please or to participate in this conversation.