My need create new user in admin dashboard, this store function, but database saving string not hash, please help. When I output via dd(), then the hash working
JavaScript
x
`
public function store(Request $request)
{
$data = $request->validate([
'name' => 'required|string',
'email' => 'required|email|unique:users',
'password' => 'required|string|min:8|confirmed'
]);
$object = new Specialist();
$object->groups = 3;
$object->password = Hash::make($data['password']);
$object->fill(request()->all());
$object->save();
return redirect()->route('specialists.index');
}
`
Model
JavaScript
`class Specialist extends Model
{
// USE DATABASE TABLE users
protected $table = 'users';
// FILL COLUMNS...
protected $fillable = ['email', 'password', 'name'];
}`
Advertisement
Answer
JavaScript
$object->fill(request()->all());
This line is overwriting the password field because request()->all()
includes password
.
Use except()
method to remove the fields that you don’t need:
JavaScript
$object->password = Hash::make($data['password']);
$object->fill(request()->except('password'));