setPasswordAttribute用户模型螺丝内置auth,如何纠正?

I created CRUD for managing users in my app. Now, my issue is that I am using User::create(request()->all()), and I had implemented a setPasswordAttribute method within my model which automatically bcrypted the password, and it worked well...however...

I just discovered that this screws with some of Laravels built-in traits which the auth uses such as ResetsPasswords. So me implementing that setPasswordAttribute method actually caused the auth scaffolding to start double-bcrypting the password, causing it to fail when the user tried logging in after resetting their password.

For the sake of clean code, I'm wondering the best way I can correct this. I know I can just use save instead of create, but I'd like to keep my controllers small and tidy as possible.

What is the best way to handle this? I was thinking of simply bcrypting the value of the actual request input, but that seems hacky.

You could use another name for this field in your html form, for example plain_password, and then use a mutator with this name that mutates the password field.
This way, you don't have to write extra code and the Laravel code itself wont use this mutator.

public function setPlainPassword($value) {
     $this->attributes['password'] = bcrypt($value);
}